- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 PO设计模式(二) BasePage 提取
文章目录一、PO设计模式的介绍二、PO设计模式进一步优化一、PO设计模式的介绍看我上一篇的博客链接:https://blog.youkuaiyun.com/weixin_39080072/article/details/90600498二、PO设计模式进一步优化在PO模式当中,我们做到了页面对象与测试用例的分离。但在页面对象编写时,我们仍然还有优化的空间。页面对象有一些共同的基本操作,可以封装起来...
2019-05-27 11:38:23
1712
原创 PO设计模式(一)
文章目录【1】提出问题【2】PO设计模式【3】PO设计模式优势【4】示例【1】提出问题当有上百个用例,几十个页面的时候,我们会在测试用例中重复的使用到页面当中的元素和操作。当其中的页面发生变化时,我们需要在多个用例中去修改。这种情况下,代码多且乱,维护成本也不低。那么有什么好的方式来解决这个问题呢?【2】PO设计模式在做web 测试时,无论是什么业务,都是在页面上去操作,即所有的测试用例...
2019-05-27 11:30:41
6330
原创 自动化用例如何设计
文章目录【1】自动化用例设计是非常重要的环节【2】自动化用例设计原则【3】在编写自动化用例过程中应该遵循以下几点原则【1】自动化用例设计是非常重要的环节用例设计部分,无论是手工测试还是自动化测试,都必须要的环节,也是非常重要的环节。在做自动化测试的时候,用例需要考虑前置、步骤和对比。每一个部分都要有提供非常明确的测试数据,要考虑数据的重复使用是否会影响标本的执行结果。自动化脚本在项目迭代周...
2019-05-27 11:26:53
3197
原创 Pytest框架在Web UI自动化中的介绍
Pytest框架在Web UI自动化中的介绍一、Pytest 是基于unittest 之上的单元测试框架二、Pytest 收集测试用例的规则三、Pytest 中Mark 功能四、Fixture 使用五、Pytest 可以生成多种样式的测试报告六、Pytest 提供的测试用例运行命令一、Pytest 是基于unittest 之上的单元测试框架【1】pytest框架的优点pytest:基于uni...
2019-05-27 11:08:00
2076
原创 窗口切换
文章目录【1】疑问【2】步骤【3】示例代码【1】疑问在页面中点击某个链接之后,就会打开一个新的窗口。如何切换到新窗口?若新窗口操作完之后,需要切换到原来的窗口?【2】步骤1、获取当前所有的窗口windows = driver.window_handles2、切换到制定的窗口chrome.switch_to.window(windows[-1]) #最新打开的窗口3、切回原来的窗口...
2019-04-05 23:09:06
394
原创 弹出框操作
文章目录【1】弹出框有两种【2】页面弹出框示例:百度登录的弹出框【3】JavaScript(Windows浏览器) 弹出框实例一:处理Alert 弹出框的自动化代码实例二:百度搜索页面【1】弹出框有两种页面弹出框;JavaScript(Windows浏览器) 弹出框,包括Alert(警告)、confirm(确认)、prompt(提问);【2】页面弹出框是一个html 页面的元素。只不...
2019-04-05 19:11:45
874
原创 鼠标操作
文章目录【1】介绍【2】引入ActionChains 类:【3】实例【1】介绍Web产品中提供了丰富的鼠标交互方式,例如单击、右击、双击、悬停、鼠标拖动等功能。在WebDriver中,将这些关于鼠标操作的方法封装在 ActionChains 类提供。ActionChains 类提供了鼠标操作的常用方法:click() #单击double_click() #双击drag_a...
2019-04-05 19:04:32
171
原创 键盘操作
文章目录【1】介绍【2】引入Keys类【3】介绍常用的按键组合键常用的非组合键【4】不常用的按键操作【1】介绍selenium 提供了比较完整的键盘操作,Keys()类提供了键盘上几乎所有按键的方法。【2】引入Keys类from selenium.webdriver.common.keys import Keys【3】介绍常用的按键组合键我们经常使用的Ctrl+A,ctrl+C都是...
2019-04-05 19:00:14
270
原创 下拉框操作
文章目录【1】介绍【2】思路【3】三种方式【4】示例代码【1】介绍观察下拉框页面元素。是select/option还是ul/li1、菜单栏-点击其中的某个链接跳转2、在下拉列表中选择一个值【2】思路1、等待下拉列表和下拉列表中值存在2、对下拉列表中的元素进行操作【3】三种方式1、获取所有的下拉列表值,然后用循环去匹配相同的值2、通过text的内容来找到下拉列表的某个值3、如果...
2019-04-05 18:23:38
1068
原创 多表单切换(iframe切换)
文章目录【1】介绍【2】切换到iframe 中的html 页面:方式一:driver.switch_to_frame (iframe_reference)方式二:EC.frame_to_be_available_and_switch_to_it (iframe_reference)【1】介绍iframe :一个网页里面嵌套了另外一个框架/页面,即一个html 网页中,还内嵌了另外一个html ...
2019-04-05 18:19:15
1412
原创 selenium 设置元素三种等待方式
文章目录【1】强制等待 sleep(秒)【2】隐形等待 implicitly_wait(秒)示例代码:【3】显性等待使用步骤如下:1、使用之前,引入相关的库:2、先确定元素的定位表达式3、调用webDriverWait 类设置等待总时长、轮询周期4、使用expected_conditions 对应的方法来生成判断条件综合使用示例:以下是列举的expected_conditions 模块中的...
2019-04-05 18:07:29
1053
原创 Selenium常用页面及元素操作
文章目录常用页面操作常用元素操作常用页面操作【1】访问某一个页面:driver.get(url)【2】获取页面标题driver.title【3】关闭当前页面:driver.close()常用元素操作【1】元素对象的获取:参照元素定位方式里的方法ele = driver.find_element_by_XXX(“定位表达式”)【2】获取元素的文本内容(返回值为元素的文本):e...
2019-04-05 17:58:19
274
原创 Selenium 原理
【1】简介Selenium 是一款基于web 网页的 UI 自动化测试框架1、支持多浏览器操作,ie、Firefox、Chrome、edge、safaria 等2、跨平台,windows 、linux、Mac 都可以;3、支持多语言,Python、java、ruby、c#等【2】Selenium webdriver 原理Webdriver 是按照 client/server 模式设计的...
2019-03-30 19:10:54
433
原创 Python+Selenium 环境搭建 (Web 自动化环境搭建)
文章目录1.安装python(将python 加到环境变量中)2、检查环境配置-cmd模式3、安装浏览器,及对应的浏览器驱动4、安装 python 集成开发工具1.安装python(将python 加到环境变量中)需知:现在python 版本为3以上,对Selenium webDriver能很好的支持,根据大家可选最新版本的下载地址:https://www.python.org/getit/...
2019-03-27 10:28:34
653
1
转载 selenium各种定位方法
转 selenium各种定位方法 http://www.cnblogs.com/yhleng/selenium使用XpathCSSJavaScriptjQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)【第一部分】开篇:先认识Xpath的4种定位方法跟你说,你总是靠那个firebug,chrome的F12啥的右击复制xpath绝对总有一天踩着地雷炸的你死活...
2019-03-21 15:09:22
872
原创 WebDriverWait 函数报错:Exception found __init__() takes 2 positional arguments but 3 were given
文章目录代码功能介绍错误类型错误截图错误代码错误原因分析正确代码更新代码功能介绍代码流程:登录百度云网盘,点击“账号密码登录”,输入账号、密码,点击“登录”按钮,登录之后会跳出广告页面,获取元素将其关闭。选择自己百度云中的某一文件进行“删除”操作(此代码未实现删除)错误类型Exception found init() takes 2 positional arguments but 3 w...
2019-03-19 11:46:02
2911
原创 Python +Selenium 控制浏览器方法
【1】介绍:WebDriver 主要提供的是操作页面上各种元素的方法,但它也提供了操作浏览器的一些方法,例如控制浏览器的大小、操作浏览器前景和后退等【2】控制浏览器大小:set_window_size() ,让访问的页面在某种尺寸下运行from selenium import webdriverdriver = webdriver.Chrome()driver.maximize_win...
2019-03-18 14:08:07
707
原创 TortoiseSvn强制解锁 break lock
本地更新文档之前先update->get lock现在很多公司还是用TortoiseSvn 做版本管理。大家在更新文档之前,要养成良好的习惯,先update ->get lock ->更改完文档后commit, 这样才能避免自己提交的文档与其他人提交的文档产生冲突或者覆盖。强制解锁 break lock有些时候,同事其实没有更新文档只是把文档get lock锁住了,我们没...
2019-03-07 14:35:03
3334
TortoiseSVN使用说明高清PDF
2019-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人