聊一聊使用airtest-selenium做Web自动化的常见问题

图片

但是在实际应用过程中,同学们可能会遇到一些问题,这里我们详细聊一聊同学们在使用airtest-selenium进行Web自动化测试时,容易遇到的一些问题及其解决办法。

2. 基本概念和用法

1)airtest-selenium是标准的selenium

其实airtest-selenium就是标准的selenium,只不过我们在这个库里额外封装了一些关于 图像识别 和 标签页切换 的方法:

  • airtest_touch:图像点击
  • assert_template:断言图像存在
  • snapshot:给网页截图
  • switch_to_previous_tab:切换到上一个打开的标签页
  • switch_to_new_tab:切换到最新打开的标签页

2)使用AirtestIDE提供的辅助窗

为了让同学们快速上手,我们在AirtestIDE提供了对应的辅助窗,默认情况下不展示。

但我们需要编写Web自动化测试脚本时,可以在IDE的顶部菜单栏,窗口选项下勾选上Selenium Window:

聊一聊使用airtest-selenium做Web自动化的常见问题

关于airtest-selenium的详细入门教程,可以参考我们的往期推文:

  • 在AirtestIDE中使用airtest-selenium
  • selenium常用api介绍

3)结合更多selenium的API

另外,我们非常建议大家先学习一些selenium基础,再来使用airtest-selenium进行Web自动化的测试工作。

这样我们就可以结合selenium更加丰富的API实现更加丰富和复杂的自动化测试脚本。(网上有非常丰富的关于selenium的教程文档,同学们可以自行查找)

3. 常见问题

1)使用airtest-selenium封装的图像方法报错

有些同学在使用airtest-selenium封装的一些图像方法时,出现类似 name ‘Template’ is not defined 的报错:

聊一聊使用airtest-selenium做Web自动化的常见问题

3)暂不支持在Mac上使用airtest-selenium

目前暂不支持在Mac上使用airtest-selenium,使用时我们也会弹出如下的提示:
Current OS is not ‘Windows’! You can’t use airtest function of Airtest-Selenium. > <

图片

如果我们使用脚本生成测试报告,则需要手动指定 plugins 参数:

5)unknown error: cannot find Chrome binary
这是同学们在使用airtest-selenium进行Web测试 最常问 的一个问题了。通常情况是,我们在AirtestIDE的Selenium Window辅助窗中,点击打开浏览器的按钮,可以正常打开一个chrome浏览器的窗口(因为我们事先在选项-设置中设置了chrome.exe的路径):

图片

但是在执行airtest-selenium脚本,运行到打开浏览器窗口的代码时,却会报类似下述的报错:

如果我们的chrome浏览器是安装在默认路径下的(我们也非常建议将chrome浏览器安装到默认路径下,可以省去很多问题),出现上述报错时,我们需要检查以下2点:

  • chrome浏览器匹配的驱动(chromedriver)有没有放在环境变量目录位置上
  • chrome 浏览器版本与驱动(chromedriver)版本是否匹配

如果没有放在正确目录下或者与现有浏览器版本不匹配,我们可以在查看安装好的chrome浏览器版本后,到这个路径下下载匹配的chromedriver:http://chromedriver.storage.googleapis.com/index.html 。
如果我们的chrome浏览器没有安装在默认路径下,也很有可能因为Selenium找不到二进制的chrome.exe文件而抛出上述的异常,通常我们可以选择以下方式来解决:

  • 卸载已安装的chrome浏览器,然后重新安装到默认路径下
  • 不重新安装的话,可以直接 配置chrome浏览器的安装目录到环境变量中

当然我们也支持使用使用代码来指定chrome.exe或者chromedriver(2者的版本必须匹配)的路径:

6)脱离AirtestIDE运行airtest-selenium脚本时未安装库

如果我们使用AirtestIDE自带的环境来运行Web自动化脚本,则直接运行即可,因为内嵌的python环境已经事先安装好了airtest-selenium库。

但是如果我们指定使用本地python环境或者脱离AirtestIDE运行Web自动化脚本,则需要我们在对应的python环境里安装好airtest-selenium库:

否则会出现 no module named ‘airtest_selenium’ 的报错:

聊一聊使用airtest-selenium做Web自动化的常见问题

聊一聊使用airtest-selenium做Web自动化的常见问题 伤心的辣条 聊一聊使用airtest-selenium做Web自动化的常见问题 微信公众号 聊一聊使用airtest-selenium做Web自动化的常见问题 主要分享测试的学习资源,帮助快速了解测试

来源:普通网友

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月12日
下一篇 2021年11月12日

相关推荐