场景拓展:

UI自动化可能需要指定浏览器进行测试,为了做成自定义配置浏览器,可以通过动态添加pytest的命令行参数,在执行的时候,获取命令行传入的参数,在对应的浏览器执行用例。

1、自动化用例需要支持在不同测试环境运行,有时候在dev环境运行,有时候在test环境运行;

2、有时需要根据某个参数不同的参数值,执行不同的业务逻辑;

Pytest自定义命令参数

在conftest文件里面,添加pytest_addoption 钩子函数,然后在函数里面编写上对应的命令,描述等,这个钩子函数会收集到所有的选项,把值保存在pytestconfig,后面使用的时,直接把pytestconfig传到其他fixture函数里面,如下自定义--browser参数,用于判断使用什么浏览器执行用例

这个命令写好之后,在执行文件里面可通过,传入具体的浏览器参数

Pytest.main(‘--browser=chrome’)

现在只是写好了这个命令参数,还要结合当前的打开浏览器的函数

首先设置好在selenium通过webdriver驱动打开浏览器

如:

结合当前打开浏览器的fixtures函数,结合命令行传入的参数,获取设置的webdriver驱动,来打开浏览器

实际使用,命令行传入—browser=firefox,使用火狐浏览器来执行

参考文章:http://testingpai.com/article/1609841728668https://www.cnblogs.com/lwjnicole/p/14450361.html

各个浏览器的驱动文件:https://www.cnblogs.com/momolei/p/10118526.html

python+pytest,通过自定义命令行参数,实现浏览器兼容性跑用例的更多相关文章

  1. TensorFlow进阶(六)---模型保存与恢复、自定义命令行参数

    模型保存与恢复.自定义命令行参数. 在我们训练或者测试过程中,总会遇到需要保存训练完成的模型,然后从中恢复继续我们的测试或者其它使用.模型的保存和恢复也是通过tf.train.Saver类去实现,它主 ...

  2. pytest框架之命令行参数2

    前言 上篇博客说到命令行执行测试用例的部分参数如何使用?今天将继续更新其他一些命令选项的使用,和pytest收集测试用例的规则! pytest执行用例命令行参数 --collect-only:罗列出所 ...

  3. pytest框架之命令行参数1

    前言 pytest是一款强大的python自动化测试工具,可以胜任各种类型或者级别的软件测试工作.pytest提供了丰富的功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixtur ...

  4. pytest动态添加命令行参数并获取(钩子函数:pytest_addoption)

    考虑场景: 我们的自动化用例需要支持在不同测试环境运行,有时候在dev环境运行,有时候在test环境运行: 有时候需要根据某个参数不同的参数值,执行不同的业务逻辑: 上面的场景我们都可以通过" ...

  5. Python 处理脚本的命令行参数(二):使用click

    安装click pip install click 使用步骤 使用@click.command() 装饰一个函数,使之成为命令行接口 使用@click.option() 等装饰函数,为其添加命令行选项 ...

  6. python解析传入的命令行参数 argv

    python解析命令行参数主要有三种方法:sys.argv.argparse解析.getopt解析 方法一:sys.argv —— 命令行执行:python test_命令行传参.py 1,2,3 1 ...

  7. Python 处理脚本的命令行参数-getopt

    # -*- coding:utf-8 -*- import sys def test(): """ 参数列表:sys.argv 参数个数:len(sys.argv) 脚本 ...

  8. Python 的几个命令行参数

    1) 以 $ python 方式启动 python 解释器,之后 import 一个模块,将生成 .pyc 文件. 2) 以 $ python -O 方式启动 python 解释器,之后 import ...

  9. Python 处理脚本的命令行参数(三):使用argparse

    # coding:utf-8 # 测试argparse模块的基本用法 import argparse # 创建参数解析对象,并添加脚本用法帮助 parser = argparse.ArgumentPa ...

随机推荐

  1. PL/SQL实例1

    declare --定义游标    cursor cemp is select to_char(hiredate,'yyyy') from emp;    phiredate varchar2(4); ...

  2. 5、Redis五大基本数据类型——String类型

    一.Redis支持数据类型简介 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 二.String类 ...

  3. mysqlslap基准测试

    目录 简介 二.例子 三.其它选项 简介 mysqlslap是mysql自带的基准测试工具 优点:查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测 ...

  4. 测试工具_http_load

    目录 一.简介 二.例子 三.参数 一.简介 http_load以并行复用的方式运行,用以测试Web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,其可以以一个单一的进程运行,这样就不会把客户机 ...

  5. MySQL常见错误总结

    一.1205 - Lock wait timeout exceeded; try restarting transaction

  6. [BUUCTF]REVERSE——[FlareOn4]login

    [FlareOn4]login 附件 步骤: 是个网页,直接打开,查看网页源码 百度了几个函数 charCodeAt(0)是返回当前字符的Unicode 编码 String.fromCharCode返 ...

  7. [BUUCTF]PWN——bjdctf_2020_babystack2

    bjdctf_2020_babystack2 附件 步骤: 例行检查,64位程序,开启了nx保护 尝试运行一下程序,看看情况 64位ida载入,习惯性的先检索程序里的字符串,发现了bin/sh,双击跟 ...

  8. [BUUCTF]REVERSE——刮开有奖

    刮开有奖 附件 步骤: 例行检查,无壳,32位程序 32位ida载入,shift+f12检索程序里的字符串,看到了一个base64加密的特征字符串,猜想这题用到了base64加密 从main函数开始看 ...

  9. CF254A Cards with Numbers 题解

    Content 有 \(2n\) 个数,让你找出两两相等的 \(n\) 对数的编号,或者方案不存在. 数据范围:\(1\leqslant n\leqslant 3\times 10^5,1\leqsl ...

  10. Solon,一个轻量级的应用开发框架。发布官网喽!!!

    官网发布: https://solon.noear.org/ 项目简介: Solon,是一个轻量级的应用开发框架.更快.更小.更自由! 支持JDK8+:主框架0.1Mb:组合不同的插件应对不同需求:方 ...