02 2021 档案

摘要:split 将str以某个字符分割成list _str1 = "a.b.c" _str2 = "a/b/c" _list1 = _str1.split(".") _list2 = _str2.split("/") print(_list1, _list2) join 将list以某个符号拼接成str 阅读全文
posted @ 2021-02-21 19:17 码上测 阅读(192) 评论(0) 推荐(0) 编辑
摘要:import os def find_files(search_path, include_str=None, filter_strs=None): """查找指定目录下所有的文件。 :param search_path: 查找的目录路径 :param include_str: 获取包含字符串的名称 阅读全文
posted @ 2021-02-21 17:36 码上测 阅读(2931) 评论(0) 推荐(1) 编辑
摘要:用例执行完成后,执行结果默认是输出在屏幕上,其实我们可以把结果输出到一个文件中,形成测试报告。 unittest自带的测试报告是文本形式的,如下代码: import unittest if __name__ == '__main__': # 识别指定目录下所有以test开头的文件以及文件中的用例,并 阅读全文
posted @ 2021-02-21 14:41 码上测 阅读(191) 评论(0) 推荐(0) 编辑
摘要:在断言用例执行结果时,会出现预期结果与实际结果不一致的情况,此时我们明确知道用例执行结果为FAIL,不想看到打印错误信息怎么办? 使用装饰器@unittest.expectedFailure标记该用例。 import unittest class Demo(unittest.TestCase): @ 阅读全文
posted @ 2021-02-21 13:27 码上测 阅读(208) 评论(0) 推荐(0) 编辑
摘要:测试用例是否测试通过是通过将预期结果与实际结果做比较来判定的,那代码中怎么来判定用例是否通过呢?在python中这种判定的方法就叫做断言,断言可以使用python的assert方法,也可以使用unittest框架提供的一系列断言方法。 unittest常用断言方法如下 方法 说明 assertEqu 阅读全文
posted @ 2021-02-21 12:57 码上测 阅读(292) 评论(0) 推荐(0) 编辑
摘要:在执行测试用例时,有时候有些用例是不需要执行的,比如版本迭代用例弃用,测试周期短只需要执行优先级高的用例,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了,我们可以使用unittest提供的一些跳过指定用例的方法来规避这些问题。 unittes 阅读全文
posted @ 2021-02-21 09:38 码上测 阅读(162) 评论(0) 推荐(0) 编辑
摘要:在前面一章中演示了unittest如何执行一个简单的测试,但有两个问题: 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢? 一个测试文件,我们直接执行该文件即可,但如果有多个测试文件,怎么进行组织,总不能一个个文件执行吧? 要解决上面 阅读全文
posted @ 2021-02-20 22:40 码上测 阅读(165) 评论(0) 推荐(0) 编辑
摘要:unittest是python内置的单元测试框架,具备编写用例、组织用例、执行用例、输出报告等自动化框架的条件。 使用unittest前需要了解该框架的五个概念: 即test case,test suite,test loader,test runner,test fixture。 test cas 阅读全文
posted @ 2021-02-20 20:49 码上测 阅读(143) 评论(0) 推荐(0) 编辑
摘要:POM是Page Object Model的简称,它是一种设计思想,意思是,把每一个页面,当做一个对象,页面的元素和元素之间操作方法就是页面对象的属性和行为。 POM一般使用三层架构,分别为:基础封装层、页面对象层、测试用例层。 目录结构大致如下 下面简单介绍下我的POM架构实现方式。 基础封装层 阅读全文
posted @ 2021-02-07 11:23 码上测 阅读(592) 评论(0) 推荐(0) 编辑
摘要:selenium截图有两种方式 截取全屏 get_screenshot_as_file(filename):将截图转化成文件保存到本地,filename为保存的文件路径 get_screenshot_as_base64():将截图转化成base64 get_screenshot_as_png():将 阅读全文
posted @ 2021-02-06 22:40 码上测 阅读(427) 评论(0) 推荐(0) 编辑
摘要:select标签的下拉框可以使用selenium的 Select模拟下拉框选择操作。 Select需要导入才能使用,导入路径如下 from selenium.webdriver.support.ui import Select 下面以hao123(https://www.hao123.com) 演示 阅读全文
posted @ 2021-02-06 22:38 码上测 阅读(219) 评论(0) 推荐(0) 编辑
摘要:与switch_to.window 和 switch_to.frame 相比,switch_to.alert的alert方法使用了@property 装饰器,所以在使用时alert被当成属性调用。 演示如下 from selenium import webdriver driver = webdri 阅读全文
posted @ 2021-02-06 21:51 码上测 阅读(606) 评论(0) 推荐(0) 编辑
摘要:与在新窗口打开一个网页后需要切换窗口才能定位元素一样,在iframe标签中的元素也不能直接定位,需要切换到对应的iframe框架中才能进行元素定位。 完成网页框架切换操作需要用selenium中的两个方法 driver.switch_to.frame(frame_reference):切换到网页框架 阅读全文
posted @ 2021-02-06 21:24 码上测 阅读(687) 评论(0) 推荐(0) 编辑
摘要:想一下这样的场景,打开页面A点击一个链接,在一个新的窗口打开页面B,由于之前的driver实例对象在页面A,但是你接下来操作的元素在页面B中,此时脚本就会报错找不到元素。该场景需要使用到selenium的switch_to.window()方法进行窗口切换。 演示场景:打开百度首页(页面A),点击新 阅读全文
posted @ 2021-02-06 19:22 码上测 阅读(1177) 评论(0) 推荐(0) 编辑
摘要:selenium的包含的方法已能完全满足UI自动化,但是有些时候又不得不用到执行JS的情况,比如在一个富文本框中输入1W个字,使用send_keys方法将经历漫长的输入过程,如果换成使用JS的innerHTML方法就能够很快的完成输入。 selenium执行JavaScript代码的方法有两种: 执 阅读全文
posted @ 2021-02-06 18:08 码上测 阅读(1383) 评论(0) 推荐(0) 编辑
摘要:简单写个单选框和复选框界面 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>test</title> </head> <body bgcolor="burlywood"> <form> <input type="radio" 阅读全文
posted @ 2021-02-05 21:28 码上测 阅读(902) 评论(0) 推荐(0) 编辑
摘要:模拟键盘键盘和鼠标操作主要使用到selenium的keys包,源码如下 class Keys(object): """ Set of special keys codes. """ NULL = '\ue000' CANCEL = '\ue001' # ^break HELP = '\ue002' 阅读全文
posted @ 2021-02-05 20:59 码上测 阅读(237) 评论(0) 推荐(0) 编辑
摘要:from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 定位属性 el = driver.find_elemen 阅读全文
posted @ 2021-02-05 11:19 码上测 阅读(562) 评论(0) 推荐(0) 编辑
摘要:from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 获取当前界面的handle(handle用于窗口切换) 阅读全文
posted @ 2021-02-05 10:27 码上测 阅读(363) 评论(0) 推荐(0) 编辑
摘要:import time from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 窗口最大化 driver.max 阅读全文
posted @ 2021-02-05 10:10 码上测 阅读(110) 评论(0) 推荐(0) 编辑
摘要:from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 获取浏览器名称 browserName = driver 阅读全文
posted @ 2021-02-05 09:59 码上测 阅读(500) 评论(0) 推荐(0) 编辑
摘要:import time from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") driver.find_elemen 阅读全文
posted @ 2021-02-05 09:44 码上测 阅读(196) 评论(0) 推荐(0) 编辑
摘要:from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get("https://www.baidu.com") # 定位元素 input_box = driver.find 阅读全文
posted @ 2021-02-05 09:29 码上测 阅读(2853) 评论(0) 推荐(0) 编辑

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