Selenium自动化测试
Selenium+Python自动化测试
Grace YYDS
learn a little every day.
展开
-
unittest 解决测试用例使用ddt运行报错:ValueError: no such test method in....
问题描述:testcase通过ddt的方式来进行测试数据,并且使用suite.addTest()方法添加该用例执行测试时,该用例运行错误信息,其他没有添加@data的testcase运行OK,如图:ValueError: no such test method in <class 'testcase.test_setting_gesture_navigation.TestGestureNavigation'>: test_Get_ModelNumber问题原因:在用@data装饰的测试用原创 2022-03-19 22:29:08 · 1547 阅读 · 1 评论 -
Selenium之PageObject设计模式。
PageObject简称PO,表示页面对象。目的:主要实现代码的分层设计,减少代码的维护量,表现在页面元素和元素操作的相互分离。主要核心元素:基础类:用来封装基础类,比如驱动、元素的二次定位。页面层:继承基础类,通过驱动来管理该页面的元素,将操作封装成方法进行调用。用例层:继承unittest.TestCase,调用相应的页面类来实现相应的测试步骤。自动化测试框架文件的设计...原创 2020-03-08 15:29:29 · 642 阅读 · 4 评论 -
Selenium之浏览器无头模式、多线程调用浏览器运行实战。
配置Firefox无头模式:options = webdriver.FirefoxOptions()options.add_argument('--headless')options.add_argument('--disable-pgu')Firefox浏览器驱动所在路径executable_path = r"D:\install_Python\geckodriver.exe...原创 2020-03-05 17:36:14 · 1617 阅读 · 0 评论 -
Selenium之xlrd数据驱动测试实战。
xlrd模块的操作:https://www.jianshu.com/p/f2c9dff344c6新建一个Excel表格,内容如下:案例说明:通过Excel数据来定义测试用例的参数。import xlrd, ddt, unittest, timefrom selenium import webdriverfrom selenium.webdriver.common.by imp...原创 2020-03-05 11:52:35 · 394 阅读 · 0 评论 -
Selenium之YAML数据驱动测试实战。
YAML的基础介绍 :https://www.jianshu.com/p/eaa1bf01b3a6新建一个YAML存储数据的文件,后缀名为“.yaml”,内容如下:案例说明:通过YAML数据来定义测试用例的参数。案例代码:import yaml, unittest, timefrom selenium import webdriverdef read_yaml_dat...原创 2020-03-05 11:35:01 · 957 阅读 · 0 评论 -
Selenium之DDT数据驱动测试实战。
DDT模块安装:打开cmd命令提示符,输入pip install ddt进行安装,如下图所示。DDT模块装饰器:测试类上使用:@ddt.ddt 装饰器:测试用例上使用:@ddt.data 装饰器:把参数作为测试数据@ddt.unpack 装饰器:若参数是元组或列表解析成多个参数。案例代码:from selenium import webdriverfro...原创 2020-03-04 18:45:57 · 496 阅读 · 0 评论 -
Selenium之引入setUpClass()、tearDownClass()测试固件。
引入setUpClass()、tearDownClass()测试固件,保证运行所有测试用例时浏览器只需要打开和关闭一次,可提高测试效率。代码如下:from selenium import webdriverimport unittestclass Test_Web_UI(unittest.TestCase): @classmethod def setUpClass...原创 2020-03-03 15:28:05 · 762 阅读 · 0 评论 -
Selenium之By类和JavaScript定位。
By类定位介绍导入By类 :from selenium.webdriver.common.by import By方法:find_element(By.ID, "kw")find_element(By.NAME, "kw")find_element(By.XPATH, "kw")find_element(By.CLASS_NAME, "kw")find_element(...原创 2020-03-03 08:37:16 · 550 阅读 · 0 评论 -
Selenium之raise exception_class(message, screen, stacktrace)。
Error:所查找的元素不可见或者没有找到该元素,如图所示。解决方式:导入time模块,在找该元素之前休眠1-3s即可。原创 2020-02-28 09:18:17 · 7925 阅读 · 7 评论 -
Selenium随机打开一个url。
案例说明:从一个网页的div模块范围内获取所有的超链接,设置随机值,随机打开网页。案例代码:from selenium import webdriverimport timeimport randomdriver = webdriver.Chrome()driver.get("http://webtest.ranorex.org/")driver.maximize_windo...原创 2020-02-27 16:44:03 · 669 阅读 · 0 评论 -
selenium使用HTMLTestRunner模块无法生成HTML测试报告。
执行脚本后没报错,却无法生成测试报告,执行结果如下图所示。 其实问题出现在于按Ctrl+Shift+F10执行脚本后,程序执行unittest后,没有再执行后面的程序,所以无法没有再生存测试报告。 正确的方法是按Alt+Shift+F10执行脚本,然后在点击要执行的脚本名称,如下图所示。运行结果:...原创 2020-01-06 20:22:39 · 533 阅读 · 0 评论 -
selenium导入HTMLTestRunner报错【ImportError: No module named 'StringIO'】的解决办法。
报错原因是因为官网的HTMLTestRunner.py是python2语法写的,需要手动把改成python3的语法。已更新文件下载:https://pan.baidu.com/s/1AsC1gugguYnJBIhcv5BmqQ若自己手动修改,打开HTMLTestRunner.py,操作如下图所示。第94行,将import StringIO 修改成 import io第539行,...原创 2020-01-06 17:25:48 · 533 阅读 · 0 评论 -
selenium编写web测试用例
测试用例:百度和有道;执行测试用例:RunTest.py百度用例脚本:from selenium import webdriverimport unittestimport timeclass My_Tests(unittest.TestCase): def setUp(self): self.browser = webdriver.Chrome() ...原创 2020-01-03 20:19:19 · 1202 阅读 · 0 评论 -
selenium跳过测试用例的方法。
在执行测试时,有些用例可能需要跳过或者当满足某个条件时跳过,也有不管执行结果怎么样直接将测试用例设置为失败。unittest提供了实现这些需求的装饰器。'''跳过测试用例'''import unittestclass myTest(unittest.TestCase): def setUp(self): pass def tearDow...原创 2020-01-03 19:01:59 · 1195 阅读 · 0 评论 -
Selenium自动化测试网页通过添加cookie解决验证码问题。
向浏览器中添加cookie可以跳过验证码。通过add_cookie()方法将用户名和密码添加到浏览器cookie,当再次访问网址时,服务器将直接读取浏览器的用户名和密码,进行登录。from selenium import webdriver'''验证码处理'''driver = webdriver.Chrome()driver.get("https://www.xx.co...原创 2019-12-28 16:39:29 · 486 阅读 · 0 评论 -
Selenium+Python自动化测试爬取51job数据。
根据条件查询到的job数据保存在Excel表中。使用到的模块:selenium的webdriver、xlwt的workbook和time的sleep。from selenium import webdriverimport timeimport xlwtbrowser = webdriver.Chrome()url = "https://www.51job.com/"bro...原创 2019-12-27 20:27:42 · 842 阅读 · 0 评论 -
关于selenium自动化测试脚本: unhandled inspector error
WebDriver 常见错误:unhandled inspector error: {"code":-32000,"message":"Cannot navigate to invalid URL"} (Session info: chrome=78.0.3904.97)解决方法:将get内容的值更改为("http://您的网址")即可。...原创 2019-12-23 19:33:49 · 1738 阅读 · 0 评论 -
Selenium自动化测试模型介绍。
自动化测试模型分为四大类: 线性测试、模块化驱动测试、 数据驱动测试和关键字驱动测试。 本地Web测试站点搭建,下载:【一键安装包(运行环境+ECMS)】(含安装说明)。 工具:帝国CMS 通道:帝国软件线性模式 通过录制或编写对web的操作步骤产生相对应的线性脚本,并且每个测试脚本相对独立,不依赖或调用其他模块,单纯的模拟用户操作...原创 2019-12-30 16:01:41 · 630 阅读 · 2 评论