01 2022 档案
摘要:打包所有用到的依赖包: 在控制台中输入:pip freeze > requirements.txt 安装所有用到的依赖包: 在控制台中输入:pip install -r requirements.txt
阅读全文
摘要:import pymysql con = pymysql.connect(host="xxxx", port=xxx, user="root", password="123456",charset="utf8",cursorclass=pymysql.cursors.DictCursor, data
阅读全文
摘要:https://www.newadmin.cn/archives/304
阅读全文
摘要:如果前置条件中要给用例传递数据怎么办:设置前后置条件时,yield出来 注意点:如果要在前置条件中传递数据给用例方法,那么不能使用在上面@pytest.mark.userfixtures() 这种方法给用例添加前置后置 from selenium import webdriver import py
阅读全文
摘要:""" 无论哪个级别的前置后置条件,添加时有两种方式: 方式一:一种是在定义用例方法时添加,如:def test_demo_01(self, case_fixture, class_fixture) 方式二:一种是在用例类的上面添加,如:@pytest.mark.usefixtures("class
阅读全文
摘要:pytest中的前置后置分为4个级别:- 用例级别 - 用例类级别 - 用例模块(文件)级别- 会话(程序)级别 pytest中设置前后置条件用@pytest.fixture() 为方便管理,pytest中前置后置条件的设置可以放到conftest.py文件中(就是这个名字,且和运行文件同级别),测
阅读全文
摘要:pytest中使用@pytest.mark.parametrize来实现数据驱动,给用例方法传参 注意点:要么按照unittest的规则来写,数据驱动、前置后置都用unittest中的要么按照pytest的规则来写,数据驱动、前置后置都用pytest中的;pytest编写用例,不要使用ddt,不兼容
阅读全文
摘要:pytest中直接用assert即可断言,根据assert后面表达式的结果是True还是False来决定断言是否通过 python中数据的布尔值:非零为True; None,False, 0,[],(),{},set()为False
阅读全文
摘要:unittest中的用例执行是按ASCII码来排序的 pytest中的用例执行:文件名称按ASCII码排序,文件内根据定义的方法的先后顺序,从上到下执行
阅读全文
摘要:1、元素定位表达式是否有误 2、等待时间没有设置,代码执行速度快于页面加载速度 3、定位的元素处于iframe框架中,需要先切换到iframe框架中 4、定位的元素处于新窗口中,但当前的窗口句柄依旧是原来的窗口,需要先切换窗口 5、用于定位的元素特征是动态变化的,需要换一种定位方式或特征
阅读全文
摘要:一、一些内置的标记@pytest.mark.skip,在用例方法上使用可以跳过该用例的执行 @pytest.mark.xfail,预期不会通过的用例,执行后该用例的结果状态就是xfail,不会按用例未通过处理执行的时候,直接执行,不必像自定义标记中pytest -m 标记名 import pytes
阅读全文
摘要:1、文件以test_开头或_test结尾,即:test_*.py 或 *_test.py 2、Test开头的类名,其中test开头的方法名 3、直接在模块中test开头的方法名 注: ①pytest是以方法为单位发现用例的,写不写测试用例类根本不重要(即:直接在模块中以test开头的方法(用例)也可
阅读全文
摘要:基本的启动方式: 方式一:命令行进入到相应的目录后,输入pytest 方式二:pycharm中直接在用例所在文件以pytest方式运行文件 方式三:pycharm中另外创建一个启动文件,import pytest后 pytest.main() 指定执行用例的启动方式: 在命令行中进入到相应的目录下后
阅读全文
摘要:1、pytest 兼容 unittest,使用unittest写的用例,可以通过pytest去执行2、pytest写用例更加简单3、pytest加载用例更加智能4、pytest可以对用例做分类管理,执行用例更加的灵活5、pytest支持的插件非常丰富,功能扩展性强6、pytest用例执行的前置后置处
阅读全文
摘要:f12-Sources,提示窗口出现时点击暂停按钮,再回到Elements进行定位
阅读全文
摘要:PO:PageObject 该模式就是为了将 页面的相关操作 和 测试用例的传参、断言等操作 进行隔离,后续如果页面元素、定位方式等发生变化只需要修改页面操作的代码即可,方便维护 每个页面的操作(元素定位、点击、输入内容等)封装在一个模块中 例: import unittest from selen
阅读全文
摘要:""" 上传文件的两种情况: 一种是通过input框:如果上传文件的元素节点是input标签时可以用这种方法,无需借助winauto中的send_keys方法 一种是通过js上传的:因为点击上传文件后,选择文件的弹窗不是网页的,而是电脑的系统弹窗,无法直接用selenium操作选择文件, 所以要借助
阅读全文
摘要:import time from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com/") # 通过js打开一个新窗口 js = """ window.open("https:
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get("https://www.12306.cn/in
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get("https://www.12306.cn/in
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get('https://www.12306.cn/in
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get('https://www.12306.cn/in
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys driver = webdri
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By from selenium.webdr
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By from selenium.webdr
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.by import By from selenium.webdr
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains driver = webdriver.
阅读全文
摘要:由于新窗口的打开可能需要一定时间,为了确保成功切换到新窗口(的句柄),在切换窗口句柄前,先设置显式等待 注:这里设置的显式等待如:WebDriverWait(driver,5,0.5).until(EC.new_window_is_opened(start_window)),其中传入的参数start
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get('https://www.baidu.com/'
阅读全文
摘要:setUp():每个测试case运行之前运行一次tearDown():每个测试case运行完之后运行一次setUpClass():必须使用@classmethod 装饰器, 所有case运行之前只运行一次tearDownClass():必须使用@classmethod装饰器, 所有case运行完之后
阅读全文
摘要:import time from selenium import webdriver driver = webdriver.Chrome() driver.get("某个会有弹窗的网址") # 关于alert弹框的切换 alert = driver.switch_to.alert # 点击确认 al
阅读全文
摘要:有时,在网页上 f12-elements-ctrl+f 输入xpath语句可以定位到目标元素,但在selenium中却无法定位到,可能是因为该元素在另一个iframe框架中 import time from selenium import webdriver from selenium.webdri
阅读全文
摘要:1、页面元素的属性 from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get('http://www.baidu.com/') i
阅读全文
摘要:1、强制等待 from selenium import webdriver from selenium.webdriver.common.by import By import time driver = webdriver.Chrome() driver.get('https://mail.qq.
阅读全文
摘要:1、常用的路径表达式 2、绝对定位和相对定位 绝对路径:从根节点html开始 相对路径:每次只需从第一个已经找到的节点开始 绝对路径的劣势:如果前端经常变化,如增加了div,表达式下次就不能用了 3、谓语 谓语用来查找某个特定的节点或者包含某个指定的值的节点 谓语被嵌在方括号中 ① 索引取值 找到多
阅读全文
摘要:from selenium import webdriver from selenium.webdriver.common.by import By import time driver = webdriver.Chrome() driver.get(url="http://www.baidu.co
阅读全文
摘要:import time from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") # 获取当前页面的url地址 print(driver.current_url) # 获
阅读全文
摘要:import time from selenium import webdriver # 创建一个driver对象,启动一个浏览器 driver = webdriver.Chrome() # 访问页面 driver.get("https://www.baidu.com") # 窗口最大化 # dri
阅读全文
摘要:1、DOM “文档对象模型(Document Object Model,简称DOM) DOM提供了对整个文档的访问模型,将文档作为一个树形结构,树的每个结点表示了一个HTML标签或标签内的文本项 将HTML或XML文档转化为DOM树的过程称为解析(parse)。HTML文档被解析后,转化为DOM树,
阅读全文
摘要:<!DOCTYPE html> <!--声明文档类型--> <html lang="en"> <!--html标签对开头--> <head> <!--head标签对开头--> <meta charset="UTF-8"> <title>天马行空</title></head> <!--head标签对结
阅读全文

浙公网安备 33010602011771号