使用unittest测试(基础一)
#导入unittest单元测试框架
##用例的方法前缀必须要以 test 开头的
#这是用来组织用例的
import unittest class TestDBQB(unittest.TestCase):
#环境预置
def setUp(self):
print("测试预置") #测试用例1,测试用例2
def testCase_1_success(self):
print("测试用例1")
#断言---检查实际结果和预期结果是否一致
self.assertEqual(True,True)#assert断言 Equal相等
#测试用例2,............
def testCase_2_name_null(self):
print("测试用例2")
#断言---检查实际结果和预期结果是否一致
try:
self.assertEqual(True,False)#assert断言 Equal相等
except:
print("得到的结果跟你的预期结果不一致哦!!") #环境恢复
def tearDown(self):
print("环境恢复")
#代码的执行入口
if __name__=="__main__":
unittest.main()

二:python定位元素
①:导包的操作看我之前的写的 Python安装selenium启动浏览器
#1导包
from selenium import webdriver
from time import sleep
#2:获取浏览器驱动,并打开浏览器 firefox
dr =webdriver.Chrome()
#打开被测系统
url ="https://www.so.com/"
dr.get(url) #2元素定位##
#1): 跟剧id定位 find_element_by_id("")
inputBox=dr.find_element_by_id("input")
inputBox.send_keys("selenium")
#自动点击搜索
inputBoxclick=dr.find_element_by_id("search-button")
inputBoxclick.send_keys("selenium")
inputBoxclick.click() #第二种使用name 来定位 find_element_by_name
inputName=dr.find_element_by_name("q")
inputName.send_keys("美女") #第三种方法 使用class find_element_by_class_name
inputClass=dr.find_element_by_class_name("placeholder")
inputClass.send_keys("美女2222222222222222") #第四种方法 定位超链接 find_element_by_link_text("超文本名称全面")
aLink=dr.find_element_by_link_text("新闻")
aLink.click()
#第五种方法 定位超链接 find_element_by_partial_link_text("超文本部分的名字")
aLink2=dr.find_element_by_partial_link_text("应用让生产生活更智能")
#aLink2.click() #第六 根据标签定位 find_element_by_tag_name() //elements 后面加s 表示有多个
#这里的 \ 表示换行 inputTab_Box=dr.find_elements_by_tag_name("input")
for tab in inputTab_Box:
if tab.get_attribute("type")=='text' \
and tab.get_attribute("name")=="q":
tab.send_keys("") #第7种 根据绝对路径定位 a="/html/boby/div[2]/div/section[2]/div/form/fieldset/div[2]/input"
paths=dr.find_element_by_xpath(a)
paths=send_keys("lll") #根据相对路径定位
inputBox1=dr.find_element_by_xpath('//input[@type="text"]')
inputBox1=dr.find_element_by_xpath("//input[@type='text' and @name='q']")
inputBox1=dr.find_element_by_xpath("//div[@id='suggest-align']/input[@type='text']")
inputBox1=dr.find_element_by_xpath("//*[@id='suggest-align']/*[@type='text' and @name='q']")
iinputBox1=dr.find_element_by_xpath("//fieldset[@id='input-container']/*[@id='suggest-align' and @class='skin-search-input hover']/*[@type='text' and @name='q']")
iinputBox1.send_keys("ddd") #第8种 根据 css 选择器定位 find_element_by_css_selector()
#1):这里的定位id 是用#号表示
iinputBox1=dr.find_element_by_css_selector('#input') #2):使用class 定位 .
iinputBox1=dr.find_element_by_css_selector('.placeholder') #3):使用索引[]
iinputBox1=dr.find_element_by_css_selector('input[id="input"]')
iinputBox1=dr.find_element_by_css_selector('[id="input"]') #4):通过层级的父子关系定位: find_element_by_css_selector("div >input")
inputBox1=dr.find_element_by_css_selector("#input-container #suggest-align >input[type='text']")
inputBox1.send_keys("") #5):通过层级与属性组合定位:
'''有一个父元素,它的标签名叫div,它有一个class 属性值叫skin-search-input,
它有一个子元素,标签名叫input,并且这个子元素的class 属性值叫placeholder。
我们要找的就是具有这么多特征的一个子元素。'''
find_element_by_css_selector("div.skin-search-input >input.placeholder")
find_element_by_css_selector("fieldset #input-container >input#search-button") sleep(2)#睡眠
inputBox1.clear()# 清空
sleep(2)
dr.quit() #关闭窗口
②:等待有 :隐式等待,显示等待


使用unittest测试(基础一)的更多相关文章
- Android测试基础题(三)
今天接着给大家带来的是Android测试基础题(三). 需求:定义一个排序的方法,根据用户传入的double类型数组进行排序,并返回排序后的数组 俗话说的好:温故而知新,可以为师矣 packag ...
- Python 下的unittest测试框架
unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...
- 【转】python模块分析之unittest测试(五)
[转]python模块分析之unittest测试(五) 系列文章 python模块分析之random(一) python模块分析之hashlib加密(二) python模块分析之typing(三) p ...
- python内置模块之unittest测试(五)
系列文章 python模块分析之random(一) python模块分析之hashlib加密(二) python模块分析之typing(三) python模块分析之logging日志(四) pytho ...
- css3背景颜色渐变属性 兼容性测试基础环境为:windows系统;IE6.0+, Firefox4.0+, Chrome4.0+, Safari4.0+, Opera15.0+
css3背景颜色渐变属性 兼容性测试基础环境为:windows系统:IE6.0+, Firefox4.0+, Chrome4.0+, Safari4.0+, Opera15.0+ 语法: <li ...
- python利用unittest测试框架组织测试用例的5种方法
利用unittest测试框架可以编写测试用例,执行方式分两大类:利用main方法和利用testsuite,其中利用测试套件来组织测试用例可以有4种写法. 在此之前,先了解几个概念 TestCase:所 ...
- unittest 测试
unittest 测试 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 比如对函数abs(),我们可以编写出以下几个测试用例: 输入正数,比如1.1.2.0.99,期待返回值 ...
- Python接口测试实战3(下)- unittest测试框架
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...
- 测试基础面试题 + SQL 面试题(选择题有部分答案,难度:低)
测试基础面试题 + SQL 面试题(选择题有部分答案,难度:低) 答案: .A .C .C .A .A .D
- 安全性测试:OWASP ZAP 2.8 使用指南(一):安全测试基础及ZAP下载、安装
概览 本文意在对于OWASP's Zed Attack Proxy(ZAP)软件做一个基本使用指南介绍. ZAP是一个用于实施安全性测试的工具,即使没有很强的安全测试背景也可以很好的使用. 为了达到这 ...
随机推荐
- @Scheduled注解各参数详解
@Scheduled注解各参数详解 @Scheduled注解的使用可以参考这个:https://www.cnblogs.com/mengw/p/11564338.html 参数详解 1. cron 该 ...
- C++ enable_if 模板特化实例(函数返回值特化、函数参数特化、模板参数特化、模板重载)
1. enable_if 原理 关于 enable_if 原理这里就不细说了,网上有很多,可以参考如下教程,这里只讲解用法实例,涵盖常规使用全部方法. 文章1 文章2 文章3 1. 所需头文件 #in ...
- P1308(字符串类,处理字符串查找)
题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给 ...
- 20 闭包、nonlocal
闭包的概念 闭包就是能够读取其他函数内部变量的函数. 从模块级别调用函数内部的局部变量. 闭包 = 函数+环境变量(函数外部的变量) 闭包存在的条件 闭包必须返回一个函数 被返回的函数必须调用环境变量 ...
- 创建 Python Virtualenv 虚拟隔离环境
video:创建 Python Virtualenv 虚拟隔离环境 python 虚拟环境 venv 简单用法 - littlemore - 博客园 创建 Python Virtualenv 虚拟隔离 ...
- Java 8 新特性--Lambda表达式作为方法参数
Lambda表达式的使用场景: 当方法的参数是一个函数式接口时,可以使用Lambda表达式进行简化—— 首先,前提是Runnable接口是一个函数式接口,经过查看源码得知,确实如此: 将Runnabl ...
- 在浏览器输入URL回车后发生了什么?
本文由 简悦 SimpRead 转码, 原文地址 https://4ark.me/post/b6c7c0a2.html 这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最 ...
- Cookie实现记住密码的功能
一.什么是Cookie cookie是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段.Cookie的目的就是为用户带来方便,为网站带来增值.虽然有着许多误传,事实上Cookie并不会造成严重 ...
- 如何避免Linux操作系统客户端登陆超时-linux命令之TMOUT=
工作中经常遇到使用ssh,telnet工具登陆Linux操作系统时,出现的超时问题,怎么处理呢? 添加下面命令: TMOUNT=
- Thymeleaf 模板
Thymeleaf 模板布局 th:fragment.th:replace.th:insert.th:remove th:fragment 模板布局 模板片段说明 模板中,经常希望从其他模板中包含⼀ ...