随笔分类 -  selenium+python

摘要:一、ini: 1..ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式 2.ini文件创建方法: 3.ini文件的格式: (1)节:section 节用方括号括起来,单独占一行,例如: [section] (2)键:key 键(k 阅读全文
posted @ 2018-01-21 10:42 女林 阅读(4026) 评论(0) 推荐(0)
摘要:我们可以将测试数据用excel存储,再用ddt去传入,不过我们需要安装对应的库,因为python是无法操作excel的 1.安装第三方库xlrd 2.创建一个excel表格,将需要测试的数据保存 3.封装读取excel 4.ddt和excel结合 阅读全文
posted @ 2017-12-23 17:19 女林 阅读(3138) 评论(0) 推荐(0)
摘要:在设计用例的时候,有些用例操作过程是一样的,只是参数数据输入的不同,如果用例重复的去写操作过程会增加代码量,对于这种多组数据的测试用例,可以使用数据驱动设计模式,一组数据对应一个测试用例,用例自动加载生成 1.安装ddt模块 2.数据驱动的原理 (1)测试数据为多个字典的list类型 (2)测试类前 阅读全文
posted @ 2017-12-23 17:04 女林 阅读(1004) 评论(0) 推荐(0)
摘要:expected_condtions提供了16种判断页面元素的方法: 1.title_is:判断当前页面的title是否完全等于预期字符串,返回布尔值 2.title_contains:判断当前页面的title是否包含预期字符串,返回布尔值 3.presence_of_element_located 阅读全文
posted @ 2017-12-21 20:16 女林 阅读(3679) 评论(0) 推荐(0)
摘要:结合这两种方法对代码做二次封装,可以提升脚本性能 例: 阅读全文
posted @ 2017-12-21 20:03 女林 阅读(836) 评论(0) 推荐(1)
摘要:对于selenium原生的查找元素方法进行封装,在timeout规定时间内循环查找页面上有没有某个元素 这样封装的好处: 1.可以有效提高查找元素的效率,避免元素还没加载完就抛异常 2.相对于time.sleep和implictly_wait更节省时间 3.大大的减少重复代码,使得用例书写更简洁 代 阅读全文
posted @ 2017-12-21 17:23 女林 阅读(2858) 评论(0) 推荐(0)
摘要:语法:lambda 参数:return[]表达式] g = lambda x:x+1 相当于 def g(x): return x+1 例:求和 此处定义了三个形参d,e,f return d+e+f的和 最后传入实参 阅读全文
posted @ 2017-12-21 14:07 女林 阅读(178) 评论(0) 推荐(0)
摘要:1.*形参名(*parameter) 有时候我们不知道知道函数需要接受多少个实参,所以我们可以在形参名前加一个*,是让python创建一个名为parameter的空元组,并将收到的所有值都封装到这个元组中. (1.1)直接传入多个实参 (1.2)直接传入一个列表 (1.3)直接传入一个元组 2.** 阅读全文
posted @ 2017-12-21 13:58 女林 阅读(522) 评论(0) 推荐(0)
摘要:1.等待的三种方式: (1)time.sleep(2):进程休眠/s (2)implicitly_wait(30):等待页面完全加载完成,指的是左上角转圈结束,很耗费时间 (3)WebDriverWait(self,driver,timeout,poll_frequency=Poll_FREQUEN 阅读全文
posted @ 2017-12-21 13:20 女林 阅读(403) 评论(0) 推荐(0)
摘要:一.常见异常 1.语法错误:SyntaxError:invalid syntax (1)案例: (1)解决方法: ①查看代码有没有红色波浪线 ②熟悉python基本语法 2.变量名不存在:NameError:name 'b' is not defined (1)案例: (2)解决方法: ①检查对应的 阅读全文
posted @ 2017-10-28 17:11 女林 阅读(19376) 评论(0) 推荐(1)
摘要:代码: 运行结果: 阅读全文
posted @ 2017-10-27 11:29 女林 阅读(205) 评论(0) 推荐(0)
摘要:一.获取授权码 1.QQ邮箱设置->账户 2.开启服务:POP3/SMTP点开启 3.按照提示发送短信 4.复制授权码 一.获取授权码 1.QQ邮箱设置->账户 2.开启服务:POP3/SMTP点开启 3.按照提示发送短信 4.复制授权码 代码: mail.py #coding:utf-8 impo 阅读全文
posted @ 2017-10-25 10:09 女林 阅读(262) 评论(0) 推荐(0)
摘要:1.测试脚手架(test fixture): 测试准备前要做的工作和测试执行完后要做的工作(包括setUp()和tearDown()) 2.测试用例(test case): 最小的测试单元 3.测试套件(test suite): 测试用例的集合class类 4.测试运行器(test runner): 阅读全文
posted @ 2017-10-24 10:17 女林 阅读(253) 评论(0) 推荐(0)
摘要:一.生成Text报告: 代码: 二. 生成HTML报告: HTMLTestRunner.py为第三方的一个py文件,没有这个的话,无法生成html格式的测试报告,HTMLTestRunner.py需要手动安装,从网上下载后,将它丢入python/lib文件夹下即可,也可以建一个包单独放 实现代码: 阅读全文
posted @ 2017-10-23 17:42 女林 阅读(554) 评论(0) 推荐(0)
摘要:公共登录/退出函数模块(login_exit.py): 用例模块(test.py): 阅读全文
posted @ 2017-09-28 10:11 女林 阅读(466) 评论(0) 推荐(0)
摘要:使用参数化的方式来实现 代码: 阅读全文
posted @ 2017-09-27 13:36 女林 阅读(1025) 评论(0) 推荐(0)
摘要:一.什么是断言 执行完测试用例后,最后一步是判断测试结果是通过还是失败,在自动化脚本中一般把这种生成测试结果的方法叫做断言 它用来检查一个条件,如果它为真,则不做任何事,如果它为假,则会跑出AssertError并且包含错误信息 二.断言的几种方法 1.返回值是否相等 (1)self.assertE 阅读全文
posted @ 2017-09-21 16:08 女林 阅读(759) 评论(0) 推荐(0)
摘要:当一个类中有多条用例,我们在执行的时候每执行一条用例就要重新打开一次浏览器操作,例如下: start test1 quit start test2 start 若我们使用@classmethod装饰器,就只需要打开一次浏览器,执行完用例后再关闭,例如下: start test1 test2 quit 阅读全文
posted @ 2017-09-21 15:10 女林 阅读(973) 评论(0) 推荐(0)
摘要:一.加载Chrome配置 分析: Chrome加载配置的方法,只需要改下面一个地方,就是将username改成你本机电脑的名字(不要用中文) '--user-data-dir=C:\Users\username\AppData\Local\Google\Chrome\User Data' 代码: 二 阅读全文
posted @ 2017-09-19 17:41 女林 阅读(582) 评论(0) 推荐(0)
摘要:简要: 通常在做断言之前,都要先获取界面上的元素属性,然后与期望结果进行对比 一.获取页面title 代码: 结果: 二.获取元素的文本text 代码: 结果: 三.获取标签属性 代码: 结果: 四.获取元素的其它属性 方法: 获取其它属性方法:get_attribute("属性"),这里的参数可以 阅读全文
posted @ 2017-09-19 17:01 女林 阅读(292) 评论(0) 推荐(0)