【问题标题】:How to use webdriver mobile web on desktop browser如何在桌面浏览器上使用 webdriver mobile web
【发布时间】:2016-09-16 02:04:06
【问题描述】:

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

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

Safari浏览器菜单->开发->用户代理

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

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

我的自动化测试在使用 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"/>

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

谢谢。

【问题讨论】:

    标签: java selenium selenium-webdriver webdriver selenium-chromedriver


    【解决方案1】:

    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);
    

    【讨论】:

    • 谢谢分享,火狐也能用吗?
    • 以上是chrome特有的方法,它模拟用户代理字符串、屏幕大小、滚动行为和显示密度。您也许可以通过插件或编辑 Firefox 配置来模拟其中一些功能,但根据我的经验,上述 Chrome 功能效果更好。
    • 对于 FireFox,您可以在此处查看示例 stackoverflow.com/questions/46771456/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 2014-05-31
    相关资源
    最近更新 更多