web-自动化
文章平均质量分 60
做测试的喵酱
不舍爱与自由。
展开
-
pytest初始化和清理环境
pytest初始化和清理环境原创 2022-06-29 14:58:01 · 1461 阅读 · 0 评论 -
二、pytest+selenium+allure实现web ui自动化
没有什么二次开发,只是基于pytest框架现有功能的使用。一、整个自动化的构成pytest+selenium+allure二、结构三、实现的功能四、代码及讲解原创 2022-05-21 20:28:19 · 8868 阅读 · 38 评论 -
一、web ui自动化环境搭建 pytest+allure+selenium
一、环境依赖1、python3 和 pip2、requirements.txt 依赖包批量执行requirements.txt文件:pip install -rrequirements.txtrequirements.txt文件内容如下:allure-pytest==2.9.43allure-python-commons==2.9.43attrs==21.2.0cachetools==5.0.0certifi==2021.5.30chardet==4.0.0c..原创 2022-04-01 16:48:10 · 2534 阅读 · 0 评论 -
四、mac本地docker selenium grid实现webui分布式自动化
一、参考博客:Docker——部署selenium grid进行分布式自动化测试_tellmewsm-CSDN博客二、启动docker hub 容器1、启动docker2、docker下载主节点hub镜像和子节点各浏览器node镜像docker pull selenium/hubdocker pull selenium/node-chrome-debugdocker pull selenium/node-firefox-debug启动hubdocker run --na.原创 2022-03-14 15:30:35 · 8286 阅读 · 0 评论 -
三、centos服务器docker selenium实现webui分布式自动化
一、参考:https://github.com/SeleniumHQ/docker-seleniumSelenium Grid使用_天下任我行-CSDN博客_seleniumgrid【Selenium】Debian+Selenium+ChromeDriver_Hello World!-CSDN博客Centos7安装chrome浏览器_顽石的专栏-CSDN博客_centos 安装chrome二、实现功能:通过docker-selenium 实现 selenium web ui自动化的.原创 2022-03-14 14:20:41 · 1328 阅读 · 0 评论 -
python单例模式&selenium driver实现单例
一、使用装饰器实现单例def Singleton(cls): _instance = {} def _singleton(*args, **kargs): if cls not in _instance: _instance[cls] = cls(*args, **kargs) return _instance[cls] return _singleton@Singletonclass A(object):原创 2022-03-01 20:08:31 · 1161 阅读 · 0 评论 -
Selenium定位方式
参考博客:史上最全!Selenium元素定位的30种方式_mushroom的博客-CSDN博客_selenium元素定位elements复数定位方法:id复数定位find_elements_by_id()name复数定位find_elements_by_name()class复数定位find_elements_by_class_name()tag复数定位find_elements_by_tag_name()link复数定位find_elements_by_link_text()pa原创 2022-02-24 15:25:21 · 1122 阅读 · 0 评论 -
pytest ui 自动化失败后重试
参考博客:pytest(4)失败的用例重新执行_redrose2100的博客-CSDN博客_pytest 执行失败的用例说明:依赖pytest-rerunfailures插件pip install pytest-rerunfailures执行如下命令,即可做到失败用例重新执行,其中reruns 后面的数字表示重新执行的次数pytest -s --reruns 2pytest集成allure# "--reruns","2" ,失败后再次执行两次失败包括1、断言失败原创 2022-01-11 16:19:57 · 689 阅读 · 0 评论 -
pytest ui 自动化多进程
参考博客:pytest(5)多进程并行执行用例_redrose2100的博客-CSDN博客_pytest并发执行背景:ui用例太多,多进程执行case,节约时间。介绍:依赖pytest-xdist插件pip install pytest-xdist方式一:使用 pytest -n auto 默认自动检查系统cpu个数,然后进行并发pytest -n auto 方式二:指定并发数 pytest -n 2 即并发数2执行pytest -n 2集成原创 2022-01-11 15:34:06 · 675 阅读 · 0 评论 -
python 全局变量global
先声明,再赋值 def relocate_search_name(self): self.driver.get(personnel_url) global my_cookie my_cookie = self.get_cookies() def relocate_search_phone(self): print("注入cookie") self.put_cookie(my_cookie)原创 2022-01-07 15:54:41 · 353 阅读 · 0 评论 -
pytest中setup和teardown
参考博客:pytest 2.测试用例setup和teardown以及使用@pytest.fixture()装饰器来实现部分用例的前后置,param参数化,ids(不显示unicode编码),name(别名) - 裴敏儿 - 博客园分类 :一、函数级的(setup_function、teardown_function)只对函数用例生效,而且不在类中使用二、类级的(setup_class、teardown_class)在类中使用,类执行之前运行一次,类执行之后运行一次三、类中方法级的(set原创 2022-01-07 10:43:05 · 776 阅读 · 0 评论 -
mac selenium 自动化,驱动chrome.driver放哪里
把驱动放/usr/local/bin/目录下原创 2021-09-07 18:24:30 · 985 阅读 · 0 评论 -
将图片设置成html 背景
<body><div id="Layer1" style="position:absolute; left:0px; top:0px; width:100%; height:100%"><img src="../pic/mg.png" width="100%" height="100%"/></div>原创 2020-09-01 21:20:39 · 4972 阅读 · 0 评论 -
selenium web多窗口处理
selenium web多窗口处理原创 2018-01-27 22:30:19 · 944 阅读 · 5 评论 -
Python3版本-HTMLTestRunner
https://www.cnblogs.com/feiquan/p/8525903.html"""A TestRunner for use with the Python unit testing framework. Itgenerates a HTML report to show the result at a glance.The simplest way to use this ...转载 2018-06-20 20:00:05 · 965 阅读 · 0 评论 -
滑到页面底部
可以用 execute_script方法来处理这个。 调用原生javascript的API,这样你想滚到哪里就能滚到哪里。下面的代码演示了如何滚到页面的最下面: driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")window : JS window 对象window的scrollTo 方法: 可以滚到页面...转载 2018-06-07 20:32:42 · 1197 阅读 · 0 评论 -
phantomjs:raise WebDriverException("Unable to start phantomjs with ghostdriver: %s" % e)
raise WebDriverException("Unable to start phantomjs with ghostdriver: %s" % e)selenium.common.exceptions.WebDriverException: Message: Unable to start phantomjs with ghostdriver: [WinError 2] 系统找不到指定的文...原创 2018-06-15 10:26:35 · 3383 阅读 · 1 评论 -
selenium+python自动化--unittest参数化(paramunittest)
原文地址:https://www.cnblogs.com/yoyoketang/p/8856362.html1..先pip 下载安装 paramunittest2.在pycharm里面运行的时候,最后鼠标要放到if下方执行。https://www.cnblogs.com/yoyoketang/p/8856362.html...转载 2018-06-19 20:43:32 · 4634 阅读 · 1 评论 -
TypeError: argument of type ‘int‘ is not iterable
TypeError: argument of type 'int' is not iterableTraceback (most recent call last): File "C:/Users/lenovo/PycharmProjects/DoubleU/TestCase/test.py", line 131, in <module> Select(driver.find_...原创 2018-07-02 17:24:06 · 45652 阅读 · 11 评论 -
django 开发实战--第二章开始我们第一个项目
1.创建项目(python3)Microsoft Windows [版本 10.0.14393](c) 2016 Microsoft Corporation。保留所有权利。C:\Users\Administrator>D:D:\>cd python3D:\python3>cd ScriptsD:\python3\Scripts>django-admi...原创 2018-08-10 13:40:20 · 2215 阅读 · 6 评论 -
cookie 处理
直接上代码吧,不想扯别的了获取当前所有的cookieallcookie=driver.get_cookies()注入所有的cookiefor i in mycookie: driver.add_cookie(i)原创 2018-08-24 18:26:49 · 292 阅读 · 0 评论 -
Python 2 3 自动化 异常处理
Python 2 与 Python 3异常处理机制Python 2 异常处理,如下: def Nickname(self):#昵称 try: Nickname= self.driver.find_element_by_id('com.chunnuan999.reader:id/nickname') except E...原创 2019-08-01 16:21:35 · 293 阅读 · 0 评论 -
web端 UI自动化 遇到的问题
答疑:1.浏览器驱动安装:安装 chrome 浏览器驱动,下载 ChromeDriver_win32.zip(根据自己系统下载不同的版本驱动),解压 得到 chromedriver.exe 文件放到环境变量 Path 所设置的目录下,如果前面我们已经将(C:\Python27 ) 添加到了环境变量 Path 所设置的目录,可以将 chromedriver.exe 放到 C:\Python2...原创 2019-07-28 16:08:53 · 494 阅读 · 0 评论 -
web端UI自动化环境搭建
一、环境搭建 1安装java 2配置Java环境变量 3.安装python二、编写自动化一、环境搭建•1.安装java•1.1先安装JDK•一、安装JDK•获得JDK,登录oracle网站http://www.oracle.com/technetwork/java/javase/downloads/index.html•...原创 2019-08-02 09:40:01 · 1092 阅读 · 5 评论 -
python与Excel
一、一些小栗子github不太会用,先拿博客记录一下。结构:Utils 文件夹下ReadExcelCase.py# -*- coding:utf-8 -*-import xlrd# 从excel文件中读取测试用例class ReadExcelCase(object): def ReadExcelCase(self,ExcelName,sheetNme)...原创 2018-06-26 10:19:25 · 2890 阅读 · 0 评论 -
下拉框选择
1.通过select 进行定位下拉框下拉框如图: 通过代码定位#通过index进行选择Select(driver.find_element_by_id("category")).select_by_index(1)#通过value进行选择#Select(driver.find_element_by_id("category")).select_by_value(1)#通过选项文字进行选择#Sele...转载 2018-05-08 18:27:46 · 1074 阅读 · 0 评论 -
selenium3滑动页面到底部
#将页面滚动条拖到底部js="var q=document.documentElement.scrollTop=10000"driver.execute_script(js)time.sleep(3)#将滚动条移动到页面的顶部js_="var q=document.documentElement.scrollTop=0"driver.execute_script(js_)...原创 2018-05-13 15:29:53 · 1422 阅读 · 0 评论 -
通过 cookie直接登录
1.先打印出来所有的cookieprint driver.get_cookies()结果是个list[{u'domain': u'.youdao.com', u'secure': False, u'value': u'974472156@61.149.160.138', u'expiry': 2465698815.522812, u'path': u'/', u'httpOnly': False,...原创 2018-02-26 12:23:03 · 7197 阅读 · 2 评论 -
通过记录 cookie绕过验证码
通过向浏览器中添加 cookie 可以绕过登录的验证码,这是比较有意思的一种解决方案。我们可以在用户登录之前,通过 add_cookie()方法将用户名密码写入浏览器 cookie ,再次访问系统登录链接将自动登录。例如下面的方式:.... #访问 xxxx 网站driver.get("http://www.xxxx.cn/")#将用户名密码写入浏览器 cookiedriver.add_co...转载 2018-02-26 11:22:27 · 2654 阅读 · 0 评论 -
对cookie的处理
有时候我们需要验证浏览器中是否存在某个 cookie,因为基于真实的 cookie 的测试是无法通过白盒和集成测试完成的。webdriver 可以读取、添加和删除 cookie 信息。webdriver 操作 cookie 的方法有: get_cookies() 获得所有 cookie 信息 get_cookie(name) 返回特定 name 有 cookie 信息 add_cookie(...转载 2018-02-26 11:16:18 · 792 阅读 · 0 评论 -
定位 frame 中的对象
#先找到到 ifrome1(id = f1)driver.switch_to_frame('f1')#再找到其下面的 ifrome2(id =f2)driver.switch_to_frame("f2")#下面就可以正常的操作元素了#switch_to_frame 的参数问题。官方说 name 是可以的,但是经过实验发现 id 也可以。所以只要 frame#中 id 和 name,那么处理起来是比......原创 2018-01-27 22:21:16 · 428 阅读 · 0 评论 -
web-selenium frame(iframe)处理
frameset不用切,frame需层层切!frame标签有frameset、frame、iframe三种,frameset跟其他普通标签原创 2018-02-02 10:09:22 · 4796 阅读 · 1 评论 -
web-异常:Stale Element Reference Exception
[自动化测试]Stale Element Reference Exception关于这个异常,官方给出两个可能原因:The element has been deleted entirely.The element is no longer attached to the DOM.我的个人理解是,无论是否借助框架,实际上的操作都是先找到这个element,然后对它进行操作(一般原创 2018-02-02 10:05:46 · 1422 阅读 · 0 评论 -
web自动化-Excel做数据分离
在工具层新建一个读取excel的方法。此时写死了一个excelimport xlrdclass ReadExcelData(object): def returnExcelData(self,ExcelName,sheetNme,x,y): ExcelName=xlrd.open_workbook('../DataPool/data.xlsx') Exce...原创 2018-02-08 10:00:14 · 1284 阅读 · 0 评论 -
web自动化-XML文件做数据分离
在工具池下写个读取XML文件的方法# -*- coding:utf-8 -*-#导入mindom模块from xml.dom import minidomclass ReadXMLdata(object): def returnXmlDate(self,filename,firstNode,secondNode): #parse为打开。使用mindom打开数据文件,通...原创 2018-02-08 10:04:29 · 431 阅读 · 2 评论 -
使用正则表达式在一段中文中提取数字
#coding=utf-8 import re str1 = '<div class="r">本次查询共搜索到 10 项结果</a></div>' pattern = re.compile(r'>.*?(\d+).*<') res = re.findall(pattern, str1) print res...原创 2018-05-13 15:27:57 · 13316 阅读 · 0 评论 -
TypeError: 'unicode' object is not callableselenium+Python获取弹出框内容的提醒
原文地址:https://blog.csdn.net/u012189659/article/details/26270097selenium+Python获取弹出框内容的提醒时使用webdriver.switch_to_alert().text()方法提示TypeError: 'unicode' object is not callable这种情况是因为text()返回的是object类型,所以不...转载 2018-05-13 15:11:10 · 1128 阅读 · 0 评论 -
python 当前时间多加一天、一小时、一分钟
原文地址:https://blog.csdn.net/lanyang123456/article/details/75169752首先看下,datetime的使用import datetime>>> print datetime.datetime.now()2017-07-15 15:01:24.6190001234格式化时间>>> print datet...转载 2018-05-13 13:56:16 · 1286 阅读 · 0 评论 -
chromedrvier资源
http://chromedriver.storage.googleapis.com/index.html转载 2018-04-28 09:33:28 · 418 阅读 · 0 评论 -
python+selenium之封装元素的方法(封装查找元素的方法)
import osimport sysimport timeimport unittestfrom selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as...原创 2018-05-11 09:31:05 · 14361 阅读 · 1 评论