03 2020 档案

摘要:1. 邮箱服务器: qq邮箱使用 smtp.qq.com 163邮箱使用 smtp.163.com 2. 运行时报错:smtplib.SMTPAuthenticationError: (535, b'Login Fail. Please enter your authorization code t 阅读全文
posted @ 2020-03-31 18:02 小虫虫大虫虫 阅读(550) 评论(0) 推荐(0) 编辑
摘要:目录结构如下: test1.py 1 import unittest 2 3 4 class Test(unittest.TestCase): 5 '''我的第一个测试类''' 6 7 @classmethod 8 def setUp(self): 9 pass 10 11 def test_cas 阅读全文
posted @ 2020-03-31 16:57 小虫虫大虫虫 阅读(385) 评论(0) 推荐(0) 编辑
摘要:1. 直接上代码,如下: 1 from HTMLTestRunner import HTMLTestRunner # 导入HTMLTestRunner模块 2 import unittest 3 import time 4 5 6 class Test(unittest.TestCase): 7 ' 阅读全文
posted @ 2020-03-31 16:27 小虫虫大虫虫 阅读(804) 评论(0) 推荐(0) 编辑
摘要:HTMLTestRunner是unittest的一个扩展,可以用来生成易于使用的HTML测试报告。HTMLTestRunner.py是一个独立的文件,既可以当做第三方库来使用,也可以把它当做项目的一部分来使用(可以定制生成的报告)。 当做第三方库的话,将HTMLTestRunner.py放到pyth 阅读全文
posted @ 2020-03-31 16:16 小虫虫大虫虫 阅读(239) 评论(0) 推荐(0) 编辑
摘要:做两个简单的页面测试,一个测试百度首页,一个测试有道首页 规划测试目录如下: ps:在dos下,进入到web_test目录,执行以下命令:python runtest.py >> report/log.txt 2>&1,会在report目录下生成日志文件 代码如下: test_baidu.py 1 阅读全文
posted @ 2020-03-30 16:50 小虫虫大虫虫 阅读(429) 评论(0) 推荐(0) 编辑
摘要:测试用例是否执行通过,是通过判断测试得到的实际结果与预期结果是否相等决定的。unittest框架的TestCase类,提供以下方法用于判断测试结果: assertEqual(a, b, msg) 断言a和b是否相等,如果不相等则测试失败。msg为可选参数,用于失败时打印信息 assertNotEqu 阅读全文
posted @ 2020-03-30 14:58 小虫虫大虫虫 阅读(661) 评论(0) 推荐(0) 编辑
摘要:fixtures通过setup和teardown实现,除了测试用例之外,还提供类和模块的fixtures setUpModule/tearDownModule:在整个模块的开始与结束时被执行 setUpClass/tearDownClass:在测试类的开始与结束时被执行 setUp/tearDown 阅读全文
posted @ 2020-03-30 10:49 小虫虫大虫虫 阅读(211) 评论(0) 推荐(0) 编辑
摘要:运行测试时,可以设置直接跳过某些测试用例,或者当条件符合时执行或不执行。unittest提供了实现这些需求的装饰器。 unittest.skip(reason) 无条件地跳过 unittest.skipIf(condition, reason) 条件为真时,跳过 unittest.skipUnles 阅读全文
posted @ 2020-03-29 21:53 小虫虫大虫虫 阅读(308) 评论(0) 推荐(0) 编辑
摘要:问题: 如下,使用unittest的addTest,只添加1条测试用例,实际运行了4条 定位: pycharm的配置问题 解决方案: 1. 显示出工具条 2. 点击如图所示下拉按钮,选择Edit Configurations 3. 点击右上角的+号,选择python,右侧选择要执行的文件 4. 点击 阅读全文
posted @ 2020-03-29 16:46 小虫虫大虫虫 阅读(1101) 评论(0) 推荐(1) 编辑
摘要:以下三种方法: main()方法,执行当前文件中所有用例 TestSuite的addTest()方法,加载指定的测试用例 defaultTestLoader的discover()方法,加载指定目录下的指定文件 下面分别举例说明: 待测文件: 1 class Count: 2 def __init__ 阅读全文
posted @ 2020-03-29 16:28 小虫虫大虫虫 阅读(949) 评论(0) 推荐(0) 编辑
摘要:本文按照循序渐进的方法介绍测试用例的组织方式,实际工作中,可以借鉴方法三 待测文件: calculate.py文件 1 # 计算器类 2 class Count: 3 def __init__(self, a, b): 4 self.a = a 5 self.b = b 6 7 # 计算加法 8 d 阅读全文
posted @ 2020-03-29 12:02 小虫虫大虫虫 阅读(362) 评论(0) 推荐(0) 编辑
摘要:1. TestCase 一个TestCase的实例,就是一个测试用例。 测试用例:一个完整的测试流程,包括测试前的准备工作(setUp)、测试过程的代码、善后工作(tearDown) 单元测试的本质也就在这里,一个测试用例,也就是一个完整的测试单元 2. TestSuit 一个功能的验证往往需要多个 阅读全文
posted @ 2020-03-29 10:53 小虫虫大虫虫 阅读(1255) 评论(0) 推荐(0) 编辑
摘要:单元测试框架提供以下功能: 1. 用例的组织和执行(如何定义一条测试用例,如何控制这些用例的执行) 2. 丰富的断言方法(执行结果和预期结果的比较) 3. 丰富的日志(失败原因,执行结果如:总执行时间、失败用例数,成功用例数等) PS:单元测试框架不仅可以用来写测试用例,凡是涉及到自动化测试的工作, 阅读全文
posted @ 2020-03-29 10:16 小虫虫大虫虫 阅读(328) 评论(0) 推荐(1) 编辑
摘要:按自动化测试的发展顺序,主要以下几种模型: 线性模型:按顺序编写操作步骤产生线性脚本,每个线性脚本相对独立,且不产生依赖与调用。开发维护成本高(例如登录的重复操作,每个脚本都需要开发和维护) 模块化驱动测试:借鉴编程语言中模块化思想,把重复的操作单独封装成公共模块。当需要用到封装的模块时对其进行调用 阅读全文
posted @ 2020-03-26 18:29 小虫虫大虫虫 阅读(576) 评论(0) 推荐(0) 编辑
摘要:向副文本框输入内容(textarea) (老版本的副文本不能用send_keys发送文本) 副文本框如下: 1 <html> 2 <body> 3 <textarea id="gh" style="width:98 %" cols="50" rows="5" class="txtarea"></te 阅读全文
posted @ 2020-03-20 15:11 小虫虫大虫虫 阅读(2284) 评论(0) 推荐(0) 编辑
摘要:通过图片可以直观的看出出错的原因,使用如下方法: get_screenshot_as_file() 1 from selenium import webdriver 2 import time 3 4 driver = webdriver.Chrome() 5 driver.get('http:// 阅读全文
posted @ 2020-03-18 00:41 小虫虫大虫虫 阅读(191) 评论(0) 推荐(0) 编辑
摘要:执行以下两步: window.scrollTo(x, y)方法,设置浏览器窗口滚动条的水平和垂直位置(第一个参数表示水平左间距,第二个参数表示垂直上边距) execute_script()方法,执行js代码 1 from selenium import webdriver 2 import time 阅读全文
posted @ 2020-03-18 00:32 小虫虫大虫虫 阅读(947) 评论(0) 推荐(0) 编辑
摘要:1.文件上传 send_keys() 将本地文件的路径作为一个值放在input标签中,通过form表单将这个值提交给服务器 点击百度首页搜索框右侧的照相机按钮,从本地上传图片元素,上传一张图片 <input type="file" class="upload-pic" value="上传图片"> 该 阅读全文
posted @ 2020-03-15 19:23 小虫虫大虫虫 阅读(286) 评论(0) 推荐(0) 编辑
摘要:类似下图所示的警告框,无法通过前端工具定位,需要跳转到弹框,然后再对其操作 3种弹框: 警告类弹框,alert:一个按钮 确认类弹框,confirm:一个确认,一个取消 消息类弹框,prompt:一个输入框, 一个确认,一个取消 跳转到弹框: switch_to.alert 常用的弹框处理方法: t 阅读全文
posted @ 2020-03-15 18:16 小虫虫大虫虫 阅读(1483) 评论(0) 推荐(0) 编辑
摘要:页面操作中,点击某个链接会打开新的窗口,定位新窗口中的元素,需要跳转到新窗口操作(即使已经打开新的窗口,你的句柄和title还是前面窗口的),可以使用以下方法: current_window_handle window_handles switch_to.window(handle) 例子: 1. 阅读全文
posted @ 2020-03-14 23:28 小虫虫大虫虫 阅读(2216) 评论(0) 推荐(0) 编辑
摘要:遇到iframe表单嵌套页面时,webdriver无法直接定位其中的元素,需要转换到内嵌的页面中后,再进行元素定位 例如:做一个页面,将百度首页嵌套进去 1 <html> 2 <hody> 3 <iframe id="iff" src="http://www.baidu.com" width="10 阅读全文
posted @ 2020-03-14 22:57 小虫虫大虫虫 阅读(1868) 评论(0) 推荐(0) 编辑
摘要:HTML简介 HTML(Hyper Text Markup Language)超文本标记语言。HTML文档也被称为网页 web浏览器读取HTML文档,并以网页的形式显示出它们。浏览器不会显示HTML标签,而是使用标签来解释页面的内容。 一个简单的HTML网页如下: <html> <body> <h1 阅读全文
posted @ 2020-03-12 22:14 小虫虫大虫虫 阅读(404) 评论(0) 推荐(0) 编辑
摘要:例1: 首先,自己编写一个html,包含3个复选框,如下图: HTML代码如下: 1 <html> 2 <head> 3 <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 4 <title>checkbox</t 阅读全文
posted @ 2020-03-10 00:14 小虫虫大虫虫 阅读(442) 评论(0) 推荐(0) 编辑
摘要:页面加载元素,有时会有延时,造成自动化测试的不稳定。可以通过设置元素的等待延时来解决,一般有3种方法: 显示等待 隐式等待 sleep() 下面分别介绍: 1. 显示等待 稍复杂,不常用,so~~ 2. 隐式等待 implicitly_wait() 通过一定的时长,等待页面上的元素加载完成。driv 阅读全文
posted @ 2020-03-09 19:27 小虫虫大虫虫 阅读(185) 评论(0) 推荐(0) 编辑
摘要:定位元素之后,要对元素进行操作。如按钮,进行点击操作;编辑框,进行输入操作等。以下是几种常见的元素操作: clear() 清除文本 send_keys() 模拟键盘输入 click() 单击 submit() 提交表单 text 返回元素文本 size() 返回元素尺寸 get_attibute() 阅读全文
posted @ 2020-03-09 18:43 小虫虫大虫虫 阅读(688) 评论(0) 推荐(0) 编辑
摘要:webdriver的Keys()类,提供了几乎所有按键的方法,常用的如下: Keys.BACK_SPACE 删除键 Keys.SPACE 空格键 Keys.TAB 制表键(Tab) Keys.ESCAPE 回退键(Esc) Keys.ENTER 回车键(Enter) Keys.CONTROL Ctr 阅读全文
posted @ 2020-03-06 23:25 小虫虫大虫虫 阅读(888) 评论(0) 推荐(0) 编辑
摘要:webdriver中,将鼠标的操作封装在ActionChains类中,常用方法如下: 右击:context_click() 双击:double_click() 悬停:move_to_element() 拖动:drag_and_drop() 执行:perform() 执行所有ActionChains 阅读全文
posted @ 2020-03-06 14:19 小虫虫大虫虫 阅读(2596) 评论(0) 推荐(0) 编辑
摘要:1. 控制浏览器窗口大小 设置浏览器大小:set_window_size(n, m) 设置浏览器全屏:maximize_window() from selenium import webdriver import time driver = webdriver.Chrome() driver.get 阅读全文
posted @ 2020-03-05 22:55 小虫虫大虫虫 阅读(1934) 评论(0) 推荐(0) 编辑
摘要:webdriver是selenium体系中设计出来操作浏览器的一套API。站在编程语言的角度,webdriver是Python的一个用于实现web自动化的第三方库。 web页面上一般有输入框、按钮、文字、文字链接、图片、下拉框等等元素,web自动化要做的就是模拟鼠标和键盘来操作这些元素。首先,要找到 阅读全文
posted @ 2020-03-05 22:27 小虫虫大虫虫 阅读(559) 评论(0) 推荐(0) 编辑
摘要:HTML结构的特征: 1. 由标签对组成 html、div就是标签的标签名<html></html> <body></body> <div></div> <form></form> 2. 标签有各种属性 id、class就是属性<div id="head" class="s_down"> <div 阅读全文
posted @ 2020-03-04 21:41 小虫虫大虫虫 阅读(272) 评论(0) 推荐(0) 编辑
摘要:Python用异常对象(exception object)来表示异常情况。遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,则程序就会用所谓的回溯(traceback)来终止执行。 大多数错误会引发异常,但异常不一定代表错误,有时只是一个警告,有时只是一个终止信号,例如退出循环等 常见异常处理语 阅读全文
posted @ 2020-03-02 15:49 小虫虫大虫虫 阅读(225) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示