Java 如何在桌面浏览器上使用webdriver mobile web

Java 如何在桌面浏览器上使用webdriver mobile web,java,selenium,selenium-webdriver,webdriver,selenium-chromedriver,Java,Selenium,Selenium Webdriver,Webdriver,Selenium Chromedriver,我使用SeleniumWebDriver实现AUT(正在测试的应用程序)的功能测试自动化。AUT是响应web的,我几乎已经完成了桌面浏览器的不同测试用例 现在,同样的测试用例也适用于移动浏览器,因为可以从移动浏览器访问AUT。当我们在移动浏览器中打开它时,它是响应web的,因此UI有一些不同的表示形式。因此,我们也需要为移动浏览器运行这些测试。用于使用safari浏览器的用户代理功能的手动测试团队 Safari浏览器菜单->开发->用户代理 它满足了我们手动测试的需要 如果我们可以在自动化方面做

我使用SeleniumWebDriver实现AUT(正在测试的应用程序)的功能测试自动化。AUT是响应web的,我几乎已经完成了桌面浏览器的不同测试用例

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

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

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

如果我们可以在自动化方面做类似的事情,即使用一些twik在桌面浏览器上运行测试,那么它也可以被认为是移动web自动化。我的问题是,在使用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"/>

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


谢谢。

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

例如:

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);
Map mobileEmulation=new HashMap();
mobileEmulation.put(“deviceName”,“谷歌Nexus5”);
Map chromeOptions=new HashMap();
chromeOptions.put(“移动模拟”,移动模拟);
DesiredCapabilities=DesiredCapabilities.chrome();
能力。设置能力(ChromeOptions.CAPABILITY,ChromeOptions);
WebDriver=新的ChromeDriver(功能);

感谢分享,Firefox是否也适用?以上是一种chrome特有的方法,模拟用户代理字符串、屏幕大小、滚动行为和显示密度。您可能可以通过附加组件或编辑Firefox配置来模拟其中一些功能,但根据我的经验,上面的Chrome功能工作得更好