java - 如何在桌面浏览器上使用 webdriver 移动网页

标签 java selenium selenium-webdriver webdriver selenium-chromedriver

我正在使用 selenium webdriver 进行 AUT(被测应用程序)的功能测试自动化。 AUT 是响应式网络,我几乎完成了桌面浏览器的不同测试用例。

现在相同的测试用例也适用于移动浏览器,因为可以从移动浏览器访问 AUT。由于它是响应式网页,当我们在移动浏览器中打开时,UI 有一些不同的表示。所以我们也需要为移动浏览器运行这些测试。对于使用 safari 浏览器的用户代理功能的手动测试团队

Safari Browser menu - > Develop -> User Agent

满足了我们手动测试的需求。

如果我们可以用自动化做类似的事情,即用一些 twik 在桌面浏览器上运行测试,那么它也被认为是移动网络自动化完成的。我的问题是如何在使用网络驱动程序时做同样的事情,比如修改标题。 url 是相同的,因为只有一个网络应用程序。

我的自动化测试在使用 FirefoxDriver 和 chromeDriver 的 firefox 上运行良好。两种浏览器都有类似的可用开发工具,但我无法通过自动化利用它。

我们使用的是 selenium 2.53.0。我们的 IVY 文件具有以下与 Selenium 相关的依赖项。

<dependency org="org.seleniumhq.selenium" name="selenium-remote-driver" rev="2.53.0"/>
<dependency org="org.seleniumhq.selenium" name="selenium-java" rev="2.53.0"/>

任何人都可以提供建议和帮助我如何运行我的测试来实现它以及我需要做哪些相关的代码更改?

谢谢。

最佳答案

Google Chrome 提供了一种在您实例化驱动程序时模拟移动设备的机制,请参阅完整文档 here .

例子:

Map<String, String> mobileEmulation = new HashMap<String, String>();
mobileEmulation.put("deviceName", "Google Nexus 5");
Map<String, Object> chromeOptions = new HashMap<String, Object>();
chromeOptions.put("mobileEmulation", mobileEmulation);
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver = new ChromeDriver(capabilities);

关于java - 如何在桌面浏览器上使用 webdriver 移动网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37319027/

相关文章:

java - 条件 log4j.xml 模式

java - SVG 建设性区域几何?

python - 如何使用 selenium ChromeDriver 滚动 Google map 上的侧边栏以加载更多结果?

selenium-webdriver - 是否可以使用 Selenium WebDriver 来自动化桌面应用程序?

java - <s :if> test expression evaluation for boolean value doesn't work as expected

java - 如何正确地将 jars 组织到 Eclipse 中的一个文件夹中?

selenium - Requests 或 Urllib - 登录网站,将下载请求发送到 url,并另存为 xlsx

javascript - 使用 Protractor 工具使用特定元素定位器捕获图像

selenium - 如何优化PhantomJS让搜索引擎索引单页应用程序?

java - 使用或不使用 docker 进行 Selenium 测试