在真实的移动设备上使用mozilla firefox浏览器和appium进行硒自动测试

时间:2020-11-09 12:25:06

标签: python-3.x selenium selenium-firefoxdriver python-appium

我在我的Ubuntu 20.04 LTS上运行了Appium。我有一个用Python3.8编写的简单测试,它将打开安装在我的Samsung SM A50(由Android 10 OS驱动)上的Google Chrome浏览器,并访问该网站并检查标题。

问题是使用智能手机上安装的Mozilla Firefox运行相同的测试。这是我的设置:

# add app or appPackage / appActivity depending on preference
cls.desired_caps["appPackage"] = "org.mozilla.firefox"
cls.desired_caps["appActivity"] = "org.mozilla.gecko.BrowserApp"
# these are optional, see DesiredCapabilities Appium docs to learn more

cls.desired_caps["autoGrantPermissions"] = True
cls.desired_caps["allowSessionOverride"] = True
cls.desired_caps['platformName'] = 'Android'
cls.desired_caps['platformVersion'] = '10.0'
cls.desired_caps['deviceName'] = 'Samsung SM A50'  # name your connected mobile device
cls.desired_caps['udid'] = 'R58MB4Z8PCF'  # real mobile device connected to PC
cls.desired_caps['automationName'] = 'UIAutomator2'

cls.driver = webdriver.Remote('http://localhost:4723/wd/hub', cls.desired_caps)

脚本打开浏览器,访问网站,但是当我尝试检查网站的 标题 时,会抛出错误。

[HTTP]-> GET / wd / hub / session / d0f48635-c695-4895-89d6-de92517457fd / title [HTTP] {} [W3C(d0f48635)]驱动程序代理处于活动状态,正在通过HTTP代理传递请求 [调试] [WD代理服务器]将'/ wd / hub / session / d0f48635-c695-4895-89d6-de92517457fd / title'匹配到命令名称'title' [调试] [WD代理]将[GET / wd / hub / session / d0f48635-c695-4895-89d6-de92517457fd / title]代理到[GET http://127.0.0.1:8201/wd/hub/session/00b5fab0- b35f-48eb-8d33-1d5c8da29564 / title]没有身体 [WD Proxy]获得状态为404的响应:{“ sessionId”:空,“值”:{“错误”:“未知命令”,“消息”:“找不到请求的资源,或使用以下命令接收到请求映射的资源不支持的HTTP方法“,” stacktrace“:” io.appium.uiautomator2.common.exceptions.UnknownCommandException:找不到请求的资源,或者使用了非HTTP方法接收到的请求映射的资源支持\ n \ t io.appium.uiautomator2.http.ServerHandler.channelRead(ServerHandler.java:75)\ n \ t io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)\ n \ tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)\ n \ tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)\ n \ tat io.netty.handler.codec.MessageToMessageDecoder .channelRead(MessageToMessageDecoder.java:102)\ n \ t io.netty.channel.Abstract ChannelHandlerContext.invokeChannelRead(AbstractChannelHandler ... [调试] [W3C]将W3C错误代码“未知命令”与UnknownCommandError匹配 [HTTP] <-GET / wd / hub / session / d0f48635-c695-4895-89d6-de92517457fd / title 404 32 ms-3529

当我打印到控制台 self.driver.page_source 时,看不到网页的源代码,但看到Mozilla Firefox Web浏览器应用程序的源代码。我认为这就是为什么我看到错误。

是否可以通过使用Mozilla Firefox来运行Web应用程序测试,而不仅可以在带有Appium的真实设备上使用Google Chrome浏览器?因为从documentation中我看到Appium只能使用Google Chrome。我理解正确吗?

感谢您分享经验。

0 个答案:

没有答案