自动化测试相关
文章平均质量分 50
石头缝里的小松鼠
每天积累一点,总是会积少成多的!!!
展开
-
Python+Selenium自动化脚本实现列表信息的多列内容获取
【代码】Python+Selenium自动化脚本实现列表信息的多列内容获取。原创 2022-10-10 10:02:57 · 1297 阅读 · 0 评论 -
Python+Selenium获取列表页面全部数据时,空值获取不到,最终获取的数据列位置未对应(问题已解决)
解决问题:获取列表页面全部数据时,列表页面存在空值,使用.text获取文本时,空值获取不到,最终获得的整个列表数据列的位置不是一一对应。原创 2022-09-30 13:58:44 · 1422 阅读 · 0 评论 -
Python+Selenium实现列表元素的查找定位及删除操作
Python+Selenium实现列表元素的查找及删除操作原创 2022-09-27 17:25:09 · 2932 阅读 · 0 评论 -
Python+Selenium 不打开谷歌浏览器运行脚本
Python+Selenium 不打开谷歌浏览器运行脚本元素无法找到时,可能的一个原因是浏览器分辨率问题chromeOptions是一个配置 chrome 启动是属性的类,可配置chrome参数:add_argument:启动参数add_extension:扩展应用add_encoded_extension:扩展应用add_experimental_option:实验性质的设置参数# 导入ChromeOptions类from selenium.webdriver import Chrom原创 2022-03-03 09:55:33 · 2599 阅读 · 0 评论 -
Python+Selenium+unittest脚本公共代码整理
1、日志模块# 导入日志模块import logging# 日志文件输出from logging.handlers import RotatingFileHandlerimport time# 日志存在目录from Common import dir_config# 设置日志格式 """asctime:字符串形式的当前时间levelname:文本形式的日志级别filename:调用函数所在模块的文件名称funcName:日志输出的函数名lineno:函数语句执行所在代码行m原创 2021-09-29 16:33:21 · 359 阅读 · 0 评论 -
Python+Selenium实现非input标签属性的文件上传
1、安装相关模块pyperclip: 实现脚本字段的复制、粘贴安装方式pip install pyperclip2、导入相关模块# python自带的插件,win32api是用来模拟键盘操作import win32api# python自带的插件,win32con是用来控制键盘import win32con# 脚本字段的复制、粘贴import pyperclip3、封装代码涉及到模拟按键等操作可参考链接:https://blog.csdn.net/polyhedronx/arti原创 2021-09-17 11:21:24 · 1081 阅读 · 0 评论 -
Python+Selenium获取列表数据(根据查询值进行编辑/删除操作)
1、获取列表页面表格数据 # 获取列表全部数据 def get_table_content(self): """ 读取列表数据 :return: """ time.sleep(1) # 页面存在iframe(先切换) self.switch_iframe(AXPL.swdj_menu_iframe[0], doc="收文登记首页") list_1= []原创 2021-07-15 22:30:00 · 3812 阅读 · 0 评论 -
python+selenium断言新增一条数据是否成功(正则判断:新增后列表值数据加1)
# 导入正则模块import re def test_c_administrator_swdj_add_01(self): """ 正常添加一条数据:保存后列表数目叫之前加1; :return: """ time.sleep(1) DW = "测试单位" BH = "Ceshi001" BT = "测试标题" RQ = "2021-07-14"原创 2021-07-15 11:01:15 · 1141 阅读 · 0 评论 -
自动化测试之日志介绍
1、日志介绍概念:日志就是用于记录系统运行时的信息,对一个事件的记录,也成为Log。1.1、日志的作用- 测试程序- 了解系统程序运行的情况,是否正常- 系统程序运行故障分析与问题定位- 用来做用户行为分析和数据统计1.2、日志的级别日志级别:是指日志信息的优先级、重要性或者严重程度。常见的日志级别:日志级别描述DEBUG调试级别:打印非常详细的日志信息,通常用于对代码的调试;INFO信息级别:打印一般的日志信息,突出强调程序的运行过程;WARNIN原创 2021-06-18 10:36:26 · 1153 阅读 · 1 评论 -
窗口截图、验证码处理
1、窗口截图目的:当程序运行出错时,通过截图文件能够更直观的知道具体是哪个操作步骤出错;窗口截图就是把出错的图片保存到指定的位置;截图方法:driver.get_screenShot_as_file(filename)截图的文件名必须是.png结尾;filename中的文件目录必须是手动创建;2、验证码验证码就是一种随即生成的信息(数字、字母、汉字、图片、计算题等)为了防止恶意的请求行为,增加应用的安全性。2.1、验证码的处理方式方式:1、去掉验证码(测试环境下-采用):开发操作2原创 2021-06-17 15:48:28 · 738 阅读 · 0 评论 -
Selenium下拉选择框、弹出框、滚动条、iframe、窗口等操作;
一、下拉选择框参考链接:https://blog.csdn.net/yutian8233/article/details/114256413?spm=1001.2014.3001.5501下拉框就是HTML中元素1、Select类实现步骤:导入Select类;实例化Select对象 select = Select(element) element对象表示的是select元素对象;通过select的相关方法选择option选项# 导入Select类from selenium.web原创 2021-06-17 15:14:45 · 689 阅读 · 4 评论 -
Selenium中元素、浏览器、鼠标、键盘操作及获取元素方法介绍;
1、元素操作1.1、为什么要学习元素操作的方法?1、需要让脚本模拟用户给指定元素输入值;2、需要让脚本模拟认为删除元素;3、需要让脚本模拟点击操作;1.2、元素常用操作方法点击操作: element.click() element表示的是元素对象;输入操作: element.send_keys(“value”) element表示的是元素对象,value表示要输入的内容;清除操作: element.clear() element表示的是元素对象,将输入框里面的内容全部清除;d原创 2021-06-17 14:28:51 · 937 阅读 · 1 评论 -
Selenium中元素定位方法详细介绍
一、元素定位基本方法1、如何进行元素定位?元素:由标签头 + 标签尾 + 标签头和标签尾包括的文本内容;元素的信息就是指元素的标签名及元素的属性;元素的层级结构就是指元素之间相互嵌套的层级结构;元素定位最终就是通过元素的信息或者元素的层级结构来进行元素定位;2、浏览器开发者工具介绍浏览器开发者工具主要是用来查看元素的信息,同时也可以查看接口的相关信息;浏览器开发者工具不需要安装,浏览器自带;浏览器开发者工具的启动:F12;选中元素右键点击检查/检查元素(谷歌浏览器、火狐浏览器);原创 2021-06-17 11:20:26 · 6919 阅读 · 2 评论 -
UI自动化测试基础介绍
一、UI自动化测试介绍1、什么是自动化测试概念:由程序代替人工进行系统校验的过程。1.1、自动化测试能解决的问题?1、回归测试针对之前老的功能进行测试,通过自动化代码实现;针对上一版本的问题的回归;2、兼容性测试实例化不同的浏览器驱动就相当于对不同浏览器进行操作,从而解决浏览器的兼容性问题;3、性能测试通过一些工具来模拟多个用户实现并发操作;4、提高工作效率,保障产品质量1.2、自动化测试的优点1、自动化测试能在较少的时间内执行更多的测试用例;2、自动化测试能够减少人原创 2021-06-16 17:04:19 · 4193 阅读 · 8 评论 -
Python+Selenium实现WebUI自动化中获取元素信息相关方式
1:Web获取元素信息获取headers:浏览器的驱动名.titleself.driver.title获取元素大小:.sizetable_td_list2 = table_td_list.size获取元素文本内容:.texttable_td_list2 = table_td_list.text获取元素是否可见:.is_displayed()table_td_list2 = table_td_list.is_displayed()判断元素是否可用:.is_enabled()tabl原创 2021-06-08 17:15:58 · 694 阅读 · 1 评论 -
Python+Selenium获取表格中某一列元素文本内容时返回为空的一种解决办法
1、获取元素文本返回值为空的代码 def askfor_leave_list_reason_perc(self): sleep(1) self.switch_iframe(AFLL.AskforLeave_list_iframe[0], doc="请假列表iframe") Table_tbody = "//div[@id='table_635d6db0595d11ebbecee70b85d7da5f']//div[@class='el-table__f原创 2021-06-08 16:56:19 · 2388 阅读 · 5 评论 -
Yagmail通过QQ邮箱发送邮件实例
1、安装yagmail模块pip install yagmail2、导入模块yagmailimport yagmail3、定义邮件发送函数def send_email(): # 连接邮箱服务器 发送方邮箱+授权码+邮箱服务地址 yag = yagmail.SMTP(user='5019xxxxx@qq.com', password='onnxxxxxxxxxxbqbiff', host='smtp.qq.com', encoding='GBK') # 邮件正文 支持原创 2021-06-07 15:39:27 · 730 阅读 · 0 评论 -
<Python>页面元素定位方式:xpath----轴定位方式
https://blog.csdn.net/weixin_39568072/article/details/78191028?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162095575816780269857309%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162095575816780269857309&biz_i转载 2021-05-14 10:24:54 · 231 阅读 · 0 评论 -
Python + Selenium + UnitTest自动化测试面试题目整理
1、如何使用Selenium进行自动化测试 ?结合Python + Selenium + UnitTest2、在测试中遇到的问题描述元素定位问题:1、浏览器滑动需要调用js实现;2、非select属性的下拉框使用Xpath方式定位;3、遇到问题如何解决?1、思考2、百度3、请教4、Selenium的工作原理脚本启动driver,然后启动浏览器作为远程服务器,执行脚本发送请求,服务器解析请求作出相应的操作,反馈给客户端(脚本)5、常见的定位方式?id、name、tagName原创 2021-05-13 11:26:03 · 3437 阅读 · 0 评论 -
Selenium中关于setUp()、 setUpclass()、 tearDown()、 tearDownClass()的区别用法
setUp()、tearDown()setUp():每个测试方法运行前进行(测试前初始化工作,一条用例执行一次,若N次用例就需要执行N次)tearDown():每个测试方法运行结束后运行(测试后的清理工作。一条用例执行一次,若N次用例就执行N次)比如以下测试登录: def setUp(self): executable_path = r"G:\BaiduNetdiskDownload\chromedriver.exe" self.driver = webdriv原创 2021-05-12 09:48:48 · 1016 阅读 · 0 评论 -
Python3之OS模块使用
举例:首先需要导入OS模块import os"""Windows"""base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))testdatas_dir = os.path.join(base_dir,"TestDatas")testcases_dir = os.path.join(base_dir,"TestCases")htmlreport_dir = os.path.join(base_dir,"原创 2021-03-16 09:59:22 · 159 阅读 · 0 评论 -
Python + Selenium + UnitTest自动化测试过程中日志模块的封装使用
示例代码如下:import loggingfrom logging.handlers import RotatingFileHandlerimport timefmt = " %(asctime)s %(levelname)s %(filename)s %(funcName)s [ line:%(lineno)d ] %(message)s"datefmt = '%a, %d %b %Y %H:%M:%S'curTime = time.strftime("%Y-%m-%d %H%M", ti原创 2021-03-16 09:18:05 · 930 阅读 · 1 评论 -
Python + Selenium元素定位方式(下拉框、鼠标、表单切换、窗口切换、警告框、JavaScript等实战)
单个元素定位实战driver.find_element_by_id("kw").send_keys("大道至简")driver.find_element_by_name("wd").send_keys("大道至简")driver.find_element_by_class_name("s_ipt").send_keys("大道至简")driver.find_element_by_xpath("//*[@id='kw']").send_keys("大道至简")driver.find_element_原创 2021-03-02 10:32:26 · 1384 阅读 · 1 评论 -
一个简单、完整的自动化测试脚本(暂未完成)
1、框架搭建1、config:配置文件2、data:测试数据(照片image、视屏video、文本TXT等)3、download:存放下载的数据4、drivers:驱动文件5、log:日志文件6、report:测试报告7、test:测试文件 common:公共文件 pages:以页面为单位 case:测试用例 runner:对测试用例进行组织8、utils:其他9、run.py:执行文件...原创 2021-02-23 11:19:42 · 185 阅读 · 0 评论 -
数据驱动模型及项目应用
1、数据驱动简介数据驱动是从某个数据文件(如txt、CSV等)中读取输入或者输出的测试数据,然后以变量的形式传入事先录制好的或者手动编写好的测试脚本中。一般流程如下:1、测试框架搭建:设计测试框架,做到目录结构清晰,项目容易解读;2、设计测试用例:3、数据文件的操作:4、测试用例的生成:5、运行:运行测试用例,生成测试报告;2、ddt的使用1、ddt的安装pip install ddt2、常用方法ddt.data(*values):装饰测试方法,参数是一系列的值。作用是将测试用例原创 2021-02-23 10:39:52 · 2827 阅读 · 0 评论