在真实的移动设备上使用mozilla firefox浏览器和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]

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

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

感谢您分享经验。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...