[Selenium自动化测试实战] 不打开浏览器如何进行WEB自动化测试

[Selenium自动化测试实战] 不打开浏览器如何进行WEB自动化测试,第1张

在一般的使用场景下,使用selenium进行web自动化测试都需要打开一个浏览器的实体,测试脚本通过控制webdriver来对浏览器进行 *** 作。但是在一些场景下测试工程师需要在不打开浏览器的情况下进行自动化测试,也就是以headless的方式运行自动化测试。



业界有一些headless的第三方库可以使用,例如大名鼎鼎的PhantomJS。但是这些工具的安装很复杂,同时不一定保证持续的维护。

现在全球最受欢迎的浏览器Chrome在Chrome 59 (Chrome 60 for Windows)版本中已经支持了headless mode,只需要配置一些简单的参数就可以实现。

首先要确认自己机子上的Chrome版本。

require 'selenium-webdriver'

options = Selenium::WebDriver::Chrome::Optionsnew

optionsadd_argument('--headless')

optionsadd_argument('--disable-gpu')

optionsadd_argument('--remote-debugging-port=9222')

driver = Selenium::WebDriverfor :chrome, options: options

driverget ">

下面从以下几个方面来进行总结:
1设置环境
2设置变量
3自定义脚本写法
4python脚本调用

在界面的右上角,是 环境管理 的入口,选择管理环境后进入。

可以在左侧新建或删除环境,右侧可以对某个环境进行编辑。

如果在系统测试时需要多个系统来测试,可以在添加默认服务的基础上,再添加其他系统的URL,在编写对应的接口时,手动选择对应服务信息。

根据需要,可以在页面右上角,快速切换为你所需要的环境。

打开环境管理(软件右上角设置形状的按钮),选择全局变量 tab。

1添加一个名为my_variable的变量,将本地值设置值为hello,点击保存。
2打开一个接口,在运行 tab (或接口用例)的参数值里输入{{my_variable}}即可引用该变量。
3点击运行按钮,发送请求,实际运行的时候系统会将{{my_variable}}替换为hello,然后发出请求。

本地值和远程值的区别:
1所有使用到变量的地方,实际运行的时候都是读写本地值,而不会读写远程值。
2本地值仅存放在本地,不会同步到云端,团队成员之间也不会相互同步,适合存放token、账号、密码之类的敏感数据。
3远程值会同步到云端,主要用来团队成员之间共享数据值。
4注意:由于本地值仅存放在本地,使用一些清理软件清理 Apifox 文件缓存会导致本地值被清空,请务必注意。
变量类型:
1环境变量是最常用的变量,同一个变量可以在不同的环境设置不同的值,变量值会跟随环境切换而改变。环境变量在环境管理模块设置
2全局变量 使用方法类环境变量类似,但全局变量不会跟随环境切换而改变。
3临时变量 仅在单次运行接口用例或测试管理里的测试用例或测试套件过程中有效,不会持久化保存。

使用方式:
以下两个环节可添加脚本:
在将请求发送到服务器之前,使用前置脚本。
收到响应后,使用 后置脚本(断言测试)。

接口请求的执行流程如下:
[全局前置脚本] -> [分组前置脚本] -> [接口前置脚本] -> [发送接口请求] -> [返回接口结果] -> [全局后置脚本] -> [分组后置脚本] -> [接口后置脚本]
调试脚本:
调试脚本可以在 前置脚本 和 后置脚本里编写,使用consolelog('hello')方式将调试信息写入控制台,打开 控制台 即可查看。

使用python进行前置脚本编写:

第三步:python环境变量配置完成后重启电脑和apifox
第四步:前置脚本编写


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13263104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-28
下一篇 2023-06-28

发表评论

登录后才能评论

评论列表(0条)

保存