【自动化测试入门】用Airtest - Selenium对Firefox进行自动化测试(0基础也能学会)

1. 前言

本文将详细介绍如何使用AirtestIDE驱动Firefox测试,以及脱离AirtestIDE怎么驱动Firefox(VScode为例)。看完本文零基础小白也能学会Firefox浏览器自动化测试!!!

2. 如何使用AirtestIDE驱动Firefox浏览器

对于Web自动化测试,目前AirtestIDE支持chrome浏览器和Firefox2种浏览器,今天我们重点聊一下,如何使用AirtestIDE驱动Firefox浏览器。

1)基础知识

AirtestIDE内置python环境,环境里面装好了Airtest-Selenium库,是基于Selenium封装的。GeckoDriver是与Firefox浏览器配合使用的驱动程序,安装GeckoDriver需要注意两者的版本兼容,请查看 https://github.com/mozilla/geckodriver/releases 。详细步骤参考下文:

2)下载GeckoDriver(注意选择对应操作系统的版本)

3)解压获得geckodriver.exe

解压刚才下载的文件,得到geckodriver.exe 。

4)给geckodriver.exe设置为系统环境变量

把geckodriver.exe放到你电脑某个目录下,之后给它设置系统环境变量:

5)在AirtestIDE驱动Firefox做简单的自动化测试

python 复制代码
# -*- encoding=utf8 -*-

from airtest.core.api import *
from airtest.cli.parser import cli_setup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebFirefox
import time

#创建Chrome浏览器驱动实例
browser = WebFirefox(firefox_binary=r"C:\Program Files\MozillaFirefox\firefox.exe")

# 访问网页
browser.get('https://www.baidu.com')

#打印页面标题
print(browser.title)

#休眠3秒
time.sleep(3)

#关闭浏览器
browser.quit()

① 版本说明

【AirtestIDE】1.2.15:https://airtest.netease.com/changelog.html【python】3.6.5:AirtestIDE内置【Firefox】113.0.2 (64 位)【geckodriver】0.33.0(win64):https://github.com/mozilla/geckodriver/releases/tag/v0.33.0

② 启动报错

在运行上述demo时,一开始遇到了一个类似这样的报错:

python 复制代码
selenium.common.exceptions.WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line

查询后发现,是找不到Firefox可执行文件的意思,于是在创建WebFirefox时,将firefox.exe可执行文件路径当做参数传递给WebFirefox,之后就可以正常运行了。

3. 如何脱离AirtestIDE驱动Firefox(vscode为例)

1)前置条件:安装VScode、配置python环境

2)python配置airtest、airtest-selenium

可参考:如何部署本地python环境使用命令如下:

python 复制代码
pip install airtest

pip install airtest-selenium

小编的pip版本太旧了,还需更新pip,使用命令:python -m pip install --upgrade pip

3)在cmd控制台测试环境是否配置成功

4)测试脚本demo,解决报错

① No module named pynput

缺少 pynput库,直接 pip install安装上即可。

② TypeError: init() got an unexpected keyword argument......

Ctrl+鼠标左键到proxy.py文件;出现 argument 'timeout'报错的话删掉timeout=timeout的参数;出现argument 'firefox_options'报错的话删掉firefox_options=firefox_options的参数。

5)脱离AirtestIDE驱动Firefox

4. 小结

今天关于驱动Firefox的教程就到这里啦,更多关于Airtest想看的内容,可以给我们评论/留言。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
红云梦2 小时前
简历投了 100 份没回音?我给面试平台加了个“简历雷达“
人工智能·面试·职场和发展
光影少年4 小时前
如何开发一个CLI工具?
javascript·测试工具·前端框架·node.js
软件测试媛4 小时前
软件测试面试题个人总结
功能测试·面试·ai软件测试
studyForMokey5 小时前
【Android面试】Gradle专题
android·面试·职场和发展
编程一生7 小时前
面试问到的那些技术细节
面试·职场和发展
软件测试慧姐8 小时前
面试中常问的软件测试面试题
面试·职场和发展
蒸汽求职9 小时前
【蒸汽教育求职干货】OPT只剩3个月还没找到工作,怎么办?——留学生IT求职的“紧急预案”
人工智能·经验分享·面试·职场和发展·美国求职
蒸汽求职9 小时前
【蒸汽教育求职分享】美国IT面试的Behavioral Question:STAR法则人人都知道,但90%的人用错了
人工智能·面试·职场和发展·github·求职招聘·留学生求职
中小企业实战军师刘孙亮9 小时前
什么是增长陷阱?中小企业“增长陷阱”破局指南-佛山鼎策创局破局增长咨询
职场和发展·新媒体运营·创业创新·需求分析·内容运营
_深海凉_9 小时前
LeetCode热题100-两数之和
算法·leetcode·职场和发展