摘要: ''' from time import sleep from selenium import webdriver driver = webdriver.Chrome() driver.implicitly_wait(50) driver.get("http://videojs.com/") vid 阅读全文
posted @ 2020-02-15 22:05 gupanpan 阅读(92) 评论(0) 推荐(0)
摘要: '''有时我们需要验证浏览器中的 cookie 是否正确, 因为基于真实的 cookie 是无法通过白盒测试 和 集成测试的。 WebDriver 提供了操作 cookie 的相关方法, 可以读取、 添加和删除 cookieWebDriver 操作 cookie 的方法如下: get_cookies 阅读全文
posted @ 2020-02-15 22:04 gupanpan 阅读(55) 评论(0) 推荐(0)
摘要: '''有些页面的操作不能用 WebDriver 提供的 API 来实现, 如浏览器的滚动条拖动。这时就需要借助 JavaScript 脚本WebDriver 提供了 Execute_script() 方法来执行JavaScript 代码。调整浏览器滚动条位置的 JavaScript 代码如下<!-- 阅读全文
posted @ 2020-02-15 22:02 gupanpan 阅读(85) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-02-15 21:52 gupanpan 阅读(0) 评论(0) 推荐(0)
摘要: # 下载文件'''WebDriver 允许我们设置默认的文件下载路径, 也就是说,文件会自动下载存放到设置的目录,不同浏览器设置方式不同下面是以 Firefox 为例''' import os from selenium import webdriver fp = webdriver.Firefox 阅读全文
posted @ 2020-02-15 21:51 gupanpan 阅读(233) 评论(0) 推荐(0)
摘要: '''下拉框是 Web 页面的常见功能之一, WebDriver 提供了 Select 类来处理下拉框Select 类 用于定位<select> 标签select_by_value() 通过 value 值定位下拉框select_by_vasible_text 通过 text 值定位下拉框selec 阅读全文
posted @ 2020-02-15 21:50 gupanpan 阅读(57) 评论(0) 推荐(0)
摘要: # 上传文件'''上传文件是比较常见的 Web 功能之一,但 WebDriver 没有专门用于上传文件的方法实现文件上传的关键在于思路,一般通过以下两种方式上传文件 普通上传: 将本地文件路径作为一个值放在 input 标签中, 通过 form 表单将这个值提交给服务器 插件上传: 一般是指基于 F 阅读全文
posted @ 2020-02-15 21:49 gupanpan 阅读(56) 评论(0) 推荐(0)
摘要: # -*- coding: utf-8 -*- from os.path import dirname, abspath import sys from selenium import webdriver filePath = dirname(abspath(__file__)) print(fil 阅读全文
posted @ 2020-02-15 21:48 gupanpan 阅读(64) 评论(0) 推荐(0)
摘要: '''在 WebDriver 中处理 JavaScript 生成的 alert、confirm 和 prompt 十分简单,具体做法是:首先使用 switch_to.alert() 方法定位然后使用, text、 accept、 dismiss、 send_keys 等进行操作''' from se 阅读全文
posted @ 2020-02-15 21:47 gupanpan 阅读(90) 评论(0) 推荐(0)
摘要: # 多表单切换''' 在 Web 应用中,经常会遇到 frame/iframe 表单嵌套页面的应用,WebDriver 只能在一个页面上对 元素进行识别和定位,无法直接定位 frame/iframe 表单内嵌页面上的元素 这时需要通过 switch_to.frame() 方法切换表单 switch_ 阅读全文
posted @ 2020-02-15 21:46 gupanpan 阅读(155) 评论(0) 推荐(0)
摘要: DDT DDT ( Data-Driven Test) 是针对 unittest 单元测试框架设计的扩展库。 允许使用不同的测试数据来运行一个测试用例。 pip install ddt pip install ddt #如果 ddt 引用了 yaml 系统上要安装 pyyalm pip instal 阅读全文
posted @ 2020-02-15 21:45 gupanpan 阅读(251) 评论(0) 推荐(0)
摘要: ''' 在页面操作过程中,有时单击某个连接会弹出新的窗口,这时就要切换到新打开的窗口进行操作。 WebDriver 提供 switch_to_window() 方法可以实现不同窗口的切换current_window_handle 获得当前窗口的句柄window_handles 获得所有窗口的句柄sw 阅读全文
posted @ 2020-02-15 21:44 gupanpan 阅读(130) 评论(0) 推荐(0)
摘要: # WebDriver 提供了两种类型的元素等待方式:显示等待 和 隐式等待# 显示等待是 WebDriver 等待某个条件成立则继续执行,否则在达到最大时长时抛出超时异常(TimeoutException) from selenium import webdriver from selenium. 阅读全文
posted @ 2020-02-15 21:36 gupanpan 阅读(144) 评论(0) 推荐(0)
摘要: # WebDriver 提供 implicitly_wait() 方法可以用来实现隐式等待,用法相对来说要简单得多 from time import sleep, ctime from selenium import webdriver driver = webdriver.Firefox() dr 阅读全文
posted @ 2020-02-15 21:34 gupanpan 阅读(202) 评论(0) 推荐(0)
摘要: # WebDriver 还提供了 8 种用于定位一组元素的方法'''find_elements_by_id()find_elements_by_name()find_elements_by_class_name()find_elements_by_tag_name()find_elements_by 阅读全文
posted @ 2020-02-15 21:31 gupanpan 阅读(85) 评论(0) 推荐(0)
摘要: # 获得验证信息# 在 Web 自动化测试中,用得最多的几种验证信息是 title、 current_url 和 text# title 用户获取当前页面的标题# current_url 用于获取当前页面的 url# text 获取当前页面的文本信息 from selenium import web 阅读全文
posted @ 2020-02-15 21:27 gupanpan 阅读(88) 评论(0) 推荐(0)
摘要: # 鼠标操作# 在 WebDriver 中,与鼠标操作相关的方法都封装在 ActionChains 类中# ActionChains 类提供了鼠标操作的常用方法# perform() 执行 ActionChains 类中存储的所有行为# context_click() 右击# double_clic 阅读全文
posted @ 2020-02-15 21:25 gupanpan 阅读(74) 评论(0) 推荐(0)
摘要: # 键盘操作# send_keys() 方法可以用来模拟键盘输入, 我们还可以用它模拟键盘上的按键, 甚至组合键Ctrl + a ,Ctrl + c 等 from selenium import webdriver from selenium.webdriver.common.keys import 阅读全文
posted @ 2020-02-15 20:46 gupanpan 阅读(68) 评论(0) 推荐(0)
摘要: 数据驱动应用 数据驱动应用是自动化测试里的一个重要功能,虽然不使用单元测试框架也一样可以写测试代码和使用数据文件,但这意味着放弃了单元测试框架提供给我们的所有功能,如 测试用例断言、 灵活的运行机制、 结果统计和测试报告等。 这些都要去自己去实现。显然非常麻烦。 所以抛开测试框架谈数据驱动是没有意义 阅读全文
posted @ 2020-02-15 20:25 gupanpan 阅读(2431) 评论(0) 推荐(0)
摘要: # 控制浏览器的后退、 前进和刷新 from selenium import webdriver from time import sleep driver = webdriver.Firefox() # 访问百度首页 first_url = 'http://www.baidu.com' print 阅读全文
posted @ 2020-02-15 20:23 gupanpan 阅读(400) 评论(0) 推荐(0)
摘要: # WebDriver 中常用的方法# clear() 清除文本# send_keys(value) 模拟键盘输入# click() 单击元素 from selenium import webdriver driver = webdriver.Firefox() driver.get("http:/ 阅读全文
posted @ 2020-02-15 18:18 gupanpan 阅读(324) 评论(0) 推荐(0)
摘要: WebDriver API从元素开始定位 页面有输入框、 按钮、 文字连接、 图片等元素, 自动化测试就是模拟鼠标、 键盘来操作这些元素, 如 单击、 输入、 鼠标悬停 等 而操作这些元素首先要定位他们 页面元素都是由 HTML 代码构成,他们之间有层级地组织起来,每个元素都有不同的标签名和属性值, 阅读全文
posted @ 2020-02-15 18:10 gupanpan 阅读(71) 评论(0) 推荐(0)
摘要: # 控制浏览器# 控制浏览器窗口大小# WebDriver 提供 set_window_size() 方法可以用来设置浏览器窗口大小 from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www. 阅读全文
posted @ 2020-02-15 17:46 gupanpan 阅读(328) 评论(0) 推荐(0)
摘要: # 异常# Python 用异常对象 (Except Object) 来表示异常情况。 当遇到错误后,异常对象会引发异常。# 如果异常对象并未被处理或捕捉到, 则程序会回溯(Traceback 一种错误信息)来终止程序。# python 提供 try except 语句来捕捉并处理异常。 try: 阅读全文
posted @ 2020-02-15 17:44 gupanpan 阅读(69) 评论(0) 推荐(0)
摘要: # 自定义模块# 跨目录调用文件 # sys.path 显示的是可以调用的目录, import sys print(sys.path) # 我们只需将别的目录的文件所在的目录添加到 path 中即可调用该目录下的所有的python文件 import sys sys.path.append('D:\\ 阅读全文
posted @ 2020-02-15 17:40 gupanpan 阅读(190) 评论(0) 推荐(0)
摘要: # python 基础 之 模组# 1. 调用 time 模块 import time print(time.ctime()) # 2. 当然如果确定只调用 time 模块里的 ctime() 函数,那么可以用 from import 直接导入 ctime() 函数。 from time impor 阅读全文
posted @ 2020-02-15 17:11 gupanpan 阅读(90) 评论(0) 推荐(0)
摘要: # 编写自测代码 # 创建 add() 函数 def add(x, y): return x + y def divice(x, y): return x - y # if __name__ == '__main__' 表示当前模块被直接运行时,下面的代码块将被运行; 当模块被其他模块调用时,下面的 阅读全文
posted @ 2020-02-15 17:08 gupanpan 阅读(122) 评论(0) 推荐(0)
摘要: 浏览器驱动:设置浏览器驱动的方法很简单,我们可以手动创建一个浏览器驱动目录,如:D:/driver, 将下载的浏览器驱动文件(例如: ChromeDriver、 GeckoDriver)放到该目录下,然后将该目录添加到 Path 中验证浏览器驱动: from selenium import webd 阅读全文
posted @ 2020-02-15 14:51 gupanpan 阅读(126) 评论(0) 推荐(0)
摘要: # 第一个 selenium 自动化测试脚本 from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.baidu.com") driver.find_element_by_id('kw'). 阅读全文
posted @ 2020-02-15 14:50 gupanpan 阅读(103) 评论(0) 推荐(0)
摘要: appium 简介appium 是当前移动平台上主流的自动化测试工具之一。appium 是一个合成词, 由“application” 和 “Selenium” 的分解组成,appium 与 selenium之间有继承关系。appium 的寓意是移动短的selenium自动化测试工具appium 是一 阅读全文
posted @ 2020-02-15 14:49 gupanpan 阅读(135) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-02-15 14:46 gupanpan 阅读(0) 评论(0) 推荐(0)
摘要: from selenium import webdriver from time import sleep from module import Mail dataFile = open("./data_file/user_info.txt") data = dataFile.readlines() 阅读全文
posted @ 2020-02-15 14:44 gupanpan 阅读(744) 评论(0) 推荐(0)
摘要: unittest 单元测试框架总结unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。 今天笔者就总结下如何使用unittest单元测试框架来进行WEB自动化测 阅读全文
posted @ 2020-02-15 14:43 gupanpan 阅读(165) 评论(0) 推荐(0)
摘要: # 读取 json 文件 import json with open("./data_file/user_info.json", "r") as f: data = f.read() userList = json.loads(data) print(userList) for userInfo i 阅读全文
posted @ 2020-02-15 14:42 gupanpan 阅读(300) 评论(0) 推荐(0)
摘要: # 读取 XML 文件 from xml.dom.minidom import parse dom = parse('./data_file/config.xml') root = dom.documentElement # 获得标签之间的数据 browserName = root.getEleme 阅读全文
posted @ 2020-02-15 14:41 gupanpan 阅读(137) 评论(0) 推荐(0)
摘要: import os dir0 = os.path.dirname(__file__) # 当前文件所在的文件夹的路径 dir1 = os.path.abspath(__file__) # 当前文件的绝对路径 dir2 = os.path.dirname(os.path.abspath(__file_ 阅读全文
posted @ 2020-02-15 14:39 gupanpan 阅读(94) 评论(0) 推荐(0)
摘要: # 读取 CSV 文件 import csv import codecs from itertools import islice data = csv.reader(codecs.open('./data_file/user_info.csv', 'r')) # data 是一个迭代对象,本身并不 阅读全文
posted @ 2020-02-15 14:38 gupanpan 阅读(155) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-02-15 14:37 gupanpan 阅读(0) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-02-15 14:36 gupanpan 阅读(0) 评论(0) 推荐(0)
摘要: import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart # 发送邮件的主题 subject = 'Python send email test' # 发送的附 阅读全文
posted @ 2020-02-15 14:34 gupanpan 阅读(144) 评论(0) 推荐(0)
摘要: import unittest from time import sleep from selenium import webdriver class TestBaidu(unittest.TestCase): """测试百度""" @classmethod def setUpClass(self) 阅读全文
posted @ 2020-02-15 14:33 gupanpan 阅读(87) 评论(0) 推荐(0)
摘要: import unittest '''这个测试 setUpModule/tearDownModule ''' def setUpModule(): print("test module start >>>>>>>>>>>>>>>>>>>>>>>>") def tearDownModule(): pr 阅读全文
posted @ 2020-02-15 14:32 gupanpan 阅读(97) 评论(0) 推荐(0)
摘要: import unittest testDir = './' suits = unittest.defaultTestLoader.discover(testDir, pattern='test*.py') if __name__ == '__main__': unittest.TextTestRu 阅读全文
posted @ 2020-02-15 14:31 gupanpan 阅读(977) 评论(0) 推荐(0)
摘要: import unittest class MyTest(unittest.TestCase): """测试 skip """ @unittest.skip('直接跳过测试') def test_skip(self): print("test aaa") @unittest.skipIf(3<2, 阅读全文
posted @ 2020-02-15 14:27 gupanpan 阅读(193) 评论(0) 推荐(0)
摘要: from calculator import Calculator import unittest class TestCalculator(unittest.TestCase): def test_add(self): c = Calculator(3, 5) result = c.add() s 阅读全文
posted @ 2020-02-15 14:26 gupanpan 阅读(228) 评论(0) 推荐(0)
摘要: import unittest class TestAssert(unittest.TestCase): def testEqual(self): self.assertEqual(2+2, 4) self.assertEqual('python', 'python') self.assertEqu 阅读全文
posted @ 2020-02-15 14:25 gupanpan 阅读(99) 评论(0) 推荐(0)
摘要: 基本概念: 1、库 库的英文单词是 LIbrary,库是由代码集合成的一个产品,可供程序员调用。 面向对象的代码组织形成的库叫类库,面向过程的代码组织形成的库叫函数库。 例如,WebDriver 就属于哭的范畴,它提供了一组操作 Web 页面的的类和方法,所以称它为 Web 自动化测试库 2、框架 阅读全文
posted @ 2020-02-15 14:24 gupanpan 阅读(93) 评论(0) 推荐(0)
摘要: unittest 单元测试框架 单元测试是一项对技术要求很高的工作,只有白盒测试人员和软件测试人员才能胜任,但用单元测试框架做单元测试却十分简单,而且单元测试框架不仅可以用来做单元测试,它还适用于不同类型的“自动化”测试的执行。 下面我们看看它提供了那些功能。 1. 提供用例组织和执行 在 Pyth 阅读全文
posted @ 2020-02-15 14:19 gupanpan 阅读(157) 评论(0) 推荐(0)
摘要: import smtplibfrom email.mime.text import MIMETextfrom email.header import Header# 发送邮件的主题subject = 'Python email test'# 编写 HTML 类型的邮件正文msg = MIMEText 阅读全文
posted @ 2020-02-15 14:18 gupanpan 阅读(223) 评论(0) 推荐(0)
摘要: 适合自动化测试的项目: 1. 任务测试明确,不会频繁变动 2. 每日构建后的测试验证 3. 比较频繁的回归测试 4. 软件系统界面稳定 5. 需要在多平台上运行相同的测试案例、 组合遍历型的测试,以及大量的重复任务 6. 软件维护周期长 7. 项目进度压力不太大 8. 北侧软件系统开发较为规范, 能 阅读全文
posted @ 2020-02-15 12:22 gupanpan 阅读(406) 评论(0) 推荐(0)
摘要: Sublimetext3使用Virtulalenv插件进去Pyhton虚拟环境,步骤: 1. 添加Virtualenv插件:ctrl+shift+p出现悬浮框,输入package,然后选择 package control–install package,输入virtualenv,选择它回车即可安装, 阅读全文
posted @ 2020-02-15 12:03 gupanpan 阅读(710) 评论(0) 推荐(0)
摘要: pip经常反应慢,先介绍几个常用的国内pip源 pip install xlrd -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 1)http://mirrors.aliyun.com/pypi/simple/ 阿里云 阅读全文
posted @ 2020-02-15 02:20 gupanpan 阅读(1484) 评论(0) 推荐(0)