webUI自动化测试--python-selenium
文章平均质量分 56
用于Web应用程序测试的工具
Graciela.
Graciela的博客
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python-web自动化测试-伪元素定位和上传文件
一、伪元素弹框3秒左右消失 思路:①无法直接定位②获取到整个页面的HTML代码(网页源码)driver.page_source③在网页源代码中查找想要的内容(根据正则表达式) re.findall():搜索string,以列表形式返回全部能匹配的子串。...原创 2021-11-19 10:38:15 · 1246 阅读 · 0 评论 -
python-web自动化测试-生成HTML测试报告
一、unittest框架自带测试报告适用于单条测试用例执行当使用unittest框架,测试脚本执行结束,只需要导出结果即可 Export Test Results...二、使用第三方模板生成适用于测试套件的执行----->批量执行测试脚本 (1)复制第三方模板HTMLTestReportCN_New.py到项目文件夹 (2)生成测试套件---->suite...原创 2021-11-18 16:05:53 · 2343 阅读 · 0 评论 -
python-web自动化测试-断言
断言,也叫检查点,指的是在自动化测试过程中,让脚本自动判断实际结果是否等于预期结果。有基本布尔型断言、比较断言、复杂断言等方法。一、基本布尔型断言 序号 断言方法 断言描述 1 assertEqual(arg1, arg2, msg=None) 验证arg1=arg2,不等则fail 【常用】 2 assertNotEqual(arg1, arg2, msg=None) 验证arg1 != ...原创 2021-11-18 15:49:55 · 5905 阅读 · 1 评论 -
python-web自动化测试-验证码的处理(通过记录cookie,实现自动登录)
验证码是一种随机生成的信息(图片、数字、字母、汉字、算术题)等为了防止恶意的请求行为,增加应用的安全性。 验证码的判定优先级高于账号和密码。一、验证码的处理方法 (1)取消验证码----->找开发把验证码代码注释掉,适用于测试环境 (2)万能验证码----->找开发把验证码值设置为恒定的,适用于生产环境 (3)识别验证码----->识别成功率不能保证,且只能识别比较简单的验证码 (4)cookie跳...原创 2021-11-13 16:31:59 · 2776 阅读 · 0 评论 -
python-web自动化测试-屏幕截图
一、窗口截图的方法 driver.get_screenshot_as_file(路径+图片名)后缀名推荐使用.png,路径推荐使用相对路径。二、脚本重复执行,后面的截图会覆盖原有的同名图片。为了区分不同的截图,可以加入截图的详细信息以及加入动态时间(%Y %m %d %H %M %S)。连接符推荐使用下划线,如果有“/”、“:”等特殊字符,可能会导致截图失败。如果代码执行没有报错时截图失败,要么是图片名错误...原创 2021-11-13 16:21:21 · 1110 阅读 · 0 评论 -
python-web自动化测试-多窗口切换handle
一、窗口句柄handle,窗口句柄,是一个字符串,是浏览器窗口的唯一识别码 当超链接包含属性target=”_blank”时,点击就会在新的窗口打开 当新的窗口打开网页时,浏览器会给新窗口随机分配一个handle二、切换窗口的方法 获取当前窗口句柄:driver.current_window_handle 获取所有窗口句柄:driver.window_handles 切换到指定窗口:driver.switch_to.window(handle)三、切换窗口的思路 ...原创 2021-11-02 15:36:51 · 2221 阅读 · 0 评论 -
python-web自动化测试-frame表单框架切换
一、frame表单框架 作用:在当前页面的指定区域显示另外一个页面的内容 常见的表单框架:frame、iframe二、frame表单切换的方法切换到指定的表单:switch_to.frame(id或者name的属性值) 切换回默认页面:driver.switch_to.default_content() 必须先切换回默认页面,才可以继续在默认页面进行操作# 切换到注册A页面driver.switch_to.frame('idfram...原创 2021-11-02 15:30:53 · 1128 阅读 · 0 评论 -
python-web自动化测试-滚动条的处理
一、滚动条手工测试点滚动条在拖动过程中页面内容及时刷新 滚动条所处的位置、大小和当前页面内容在整个网页中所处的位置及所占的比例有关 滚动条和鼠标滚轮进行绑定的效果二、js代码实现控制滚动条(1)滚动条:Scroll Bar (2)方法:脚本名字 = “window.scrollTo(x,y)”x:左边距,控制左右滚动条y:上边距,控制上下滚动条...原创 2021-11-02 15:24:58 · 2471 阅读 · 2 评论 -
python-web自动化测试-对话框的处理
一、对话框介绍 模态窗口,如果不关闭,不能在网页中做任何操作。三种对话框处理方法一致 (1)alert警告框 (2)confirm确认框 (3)prompt提示框二、对话框的处理方法获取警告框:driver.switch_to_alert text 获取警告信息 dismiss() 取消警告,相当于点击取消(X)...原创 2021-11-02 15:19:36 · 602 阅读 · 0 评论 -
python-web自动化测试-Select类下拉框定位
一、传统的定位方法二、Select类定位下拉列表webdriver定义一个Select类,专门用来解决下拉框定位问题 导包:from selenium.webdriver.support.select impoet Select 定位下拉框element 实例化Select类 对象名 = Select(element) 调用方法选择下拉框中相应的选项三、 Select类的方法select_by_index(索引) 根据索引,索引从0开始...原创 2021-11-02 15:12:10 · 1913 阅读 · 0 评论 -
python-web自动化测试-元素等待
由于网络等原因,页面的加载速度远远低于代码的执行速度导致元素定位失败。当页面元素定位失败时,在指定时间内一直等待的过程叫做元素等待。元素等待有强制等待、隐式等待、显示等待三种。一、强制等待 方法:sleep()不管元素是否定位成功,都必须等待指定时长,只有等待时间结束,才可以继续执行后面的代码。示例time.sleep(3)二、隐式等待当第一个元素定位失败,在指定时间内等待成功了就继续执行后面的代码,如果等待时间结束还未成功,...原创 2021-11-02 15:06:41 · 300 阅读 · 0 评论 -
python-web自动化测试-鼠标、键盘事件
一、鼠标事件的方法context_click() 右键单击-->不能在右键菜单进行选择,纯了解即可 perform() 执行 --> 用来执行所有鼠标方法,不调用不执行 move_to_element()悬停 --> 鼠标停留在某个元素上 drag_and_drop() 拖动 --> 鼠标拖拽元素到某个位置 double_click() 双击 --> 双击能够选择已输入的一个字或者单词二、鼠标事...原创 2021-11-02 14:48:54 · 869 阅读 · 3 评论 -
python-web自动化测试-元素和浏览器的操作
(一)元素的操作 输入:send_keys() 点击:click() 清空:clear()#元素的操作方法 send_keys clear clickdiver.find_element_by_id("userA").send_keys("lilgaage")sleep(1)diver.find_element_by_xpath('//p[@id="p1"]/input').clear()sleep(1)diver.find_elemen...原创 2021-11-02 14:38:17 · 4297 阅读 · 0 评论 -
python-web自动化测试-selenium元素定位
一、方法介绍id定位:利用元素的id属性值进行定位 By类定位:利用By类定位 list定位:前面8种定位方法只能定位到符合条件的第一个元素,find_elements_by_XXX()能够获取到所有符合条件的元素,结果是一个列表 css定位:利用css选择器进行定位 xpath定位:利用元素的层级路径定位 link_text、partial_link_text:利用超链接文本内容定位a标签 tag_name定位:利用元素的标签名进行定位 class定位:利用元素的class属性值进行定位原创 2021-11-02 14:30:33 · 7419 阅读 · 0 评论 -
python-web自动化测试脚本设计思路
(1)导包-webdriver、sleepfrom selenium import webdriverfrom time import sleep(2)实例化webdriver,打开浏览器# 谷歌浏览器driver = webdriver.Chrome()# 火狐driver = webdriver.Firefox()# edge微软driver = webdriver.Edge()# iedriver = webdriver.Ie()(3)打开被测网址urlurl原创 2021-11-02 14:01:07 · 6330 阅读 · 0 评论
分享