selenium
春天的菠菜
学习python的笔记
展开
-
【selenium】Message: stale element reference: element is not attached to the page docume
selenium自动化测试时,使用循环去遍历时报错。原创 2023-05-17 17:31:17 · 654 阅读 · 0 评论 -
【allure】修改allure报告左上角LOGO
进入 D:\allure-2.13.1\plugins\custom-logo-plugin\static(D:\allure-2.13.1是自己allure的安装路径),将自己需要展示的logo图片放到这个目录,例如1.png。进入 D:\allure-2.13.1\config(D:\allure-2.13.1是自己allure的安装路径)编辑styles.css(1.png为报告自定义导航栏图标,XXXX为报告自定义导航栏名称)找到 在allure.yml添加(后面直接追加)原创 2023-03-28 14:52:17 · 483 阅读 · 0 评论 -
web自动化使用xpath轴定位
轴名称结果ancestor选取当前节点的所有先辈(父、祖父等)。选取当前节点的所有先辈(父、祖父等)以及当前节点本身。attribute选取当前节点的所有属性。child选取当前节点的所有子元素。descendant选取当前节点的所有后代元素(子、孙等)。选取当前节点的所有后代元素(子、孙等)以及当前节点本身。following选取文档中当前节点的结束标签之后的所有节点。选取当前节点之后的所有兄弟节点namespace选取当前节点的所有命名空间节点。parent。原创 2023-02-10 11:05:13 · 1848 阅读 · 0 评论 -
selenium操作滑动块
前言:很多系统登录设置了滑动块,从左侧拉到右侧。原创 2023-02-09 16:35:11 · 215 阅读 · 0 评论 -
web自动化话通过js移除元素属性
自动化过程当中,一些元素对象设置了一些特殊属性导致元素找不到,可通过js移除元素属性方式。原创 2023-02-09 16:00:48 · 189 阅读 · 0 评论 -
pytest使用allure生成测试报告
import allure @allure.feature('postman') @allure.story('postman-api') @pytest.mark.parametrize('data_dict', test_data) def test_login(self, data_dict): logger.info("获取行数据:%s."...原创 2020-04-11 22:46:27 · 2321 阅读 · 0 评论 -
selenium直接执行javascript
在web自动化过程当中可以直接使用执行javascript来完成我们需要的数据,通过js返回值。下图例子就是通过js来返回下一页的按钮是否是disable原创 2022-07-06 16:11:19 · 850 阅读 · 0 评论 -
[selenium]使用find_element_by_class_name Message: no such element的解决方法
使用find_element_by_class_name Message: no such element的解决方法原创 2022-07-06 12:59:17 · 442 阅读 · 0 评论 -
appium通过xpath获取对象文本中间显示空格异常问题
appium,明明元素正确怎么就是找不到//android.view.View[@content-desc="显示菜单 全部"]通过循环将页面的全部类型对象打印输出到List这样就能看出来 打印结果:[None,'显示菜单\n全部']原创 2022-06-17 09:58:13 · 613 阅读 · 0 评论 -
安装selenium报错Could not build wheels for cryptography which use PEP 517 and cannot be installed direct
seleiunm,pip原创 2022-06-10 22:27:31 · 477 阅读 · 0 评论 -
web自动化通过execute_script去实现元素点击事件
execute_script原创 2022-06-07 10:19:29 · 1338 阅读 · 0 评论 -
web自动化通过js获取class属性值
get_attribute原创 2022-06-07 09:26:58 · 1228 阅读 · 0 评论 -
selenium浏览器驱动下载地址
# Chrome各版本驱动的下载地址http://chromedriver.storage.googleapis.com/index.html# Firefox浏览器对应各个版本驱动下载地址:https://github.com/mozilla/geckodriver/releases/# firefox各个版本安装包的下载地址:http://ftp.mozilla.org/pub/firefox/releases/...原创 2021-02-02 11:20:52 · 287 阅读 · 1 评论 -
利用Selenium实现图片文件上传的两种方式(解决Selenium不能上传文件问题)
在实现UI自动化测试过程中,有一类需求是实现图片上传,这种需求根据开发的实现方式,UI的实现方式也会不同。 一、直接利用Selenium实现 这种方式是最简单的一种实现方式,但是依赖于开发的实现。 当开发直接使用file类型的input实现图片文件的上传时,实例:<input type="file" name=''filename"> 我们可以直接利用Selen...转载 2020-04-21 11:02:46 · 3182 阅读 · 1 评论 -
allure指定运行优先级用例以及部分定义
# coding:utf-8import pytestimport allure# 测试函数@allure.step("字符串相加:{0},{1}") # 测试步骤,可通过format机制自动获取函数参数def str_add(str1, str2): print "hello" if not isinstance(str1, str): ...转载 2020-04-16 10:16:47 · 2284 阅读 · 1 评论 -
selenium.下拉框操作(select_by)
练习的html代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>下拉框练习</title></head><body><select name="辛弃疾" id=""> ...转载 2020-04-11 11:26:39 · 5711 阅读 · 1 评论 -
jenkins运行web项目报错TestResult' object has no attribute 'outputBuffer
一、运行main函数,未生成测试报告,报错:'_TestResult' object has no attribute 'outputBuffer'self.outputBuffer = io.StringIO()self.test_start_time = round(time.time(), 2)、在HTMLTestReportCN.py中 Ctrl+F搜索_TestR...原创 2020-04-09 16:40:22 · 1490 阅读 · 0 评论 -
appium的XPATH获取text值的方式与selenium区别
这里为什么是@text呢,因为这里text是一个属性,所以有@text=""就好像XPATH //*[@class="ssdks"] 方式selenium可能会是[text()="显示"]原创 2020-04-07 18:53:47 · 1497 阅读 · 0 评论 -
python+selenium 浏览器无界面模式运行
以Chrome浏览器为例:方法一:from selenium.webdriver import Chrome, ChromeOptionsopt = ChromeOptions() # 创建Chrome参数对象opt.headless = True # 把Chrome设置成可视化无界面模式,windows/Linux 皆可drive...转载 2020-04-05 17:14:45 · 3328 阅读 · 0 评论 -
selenium is not clickable at point (122, 347). Other element would receive the click
执行selenium 发现报错is not clickable at point (122, 347). Other element would receive the click大致意思就是当前元素页面存在,但是他被其他的对象遮住了,网上有多种方法,等待,等等 我这边仔细查找原因是找到那个遮住的对象即可...原创 2020-04-02 15:05:49 · 535 阅读 · 0 评论 -
【经验分享】XPATH逻辑运算
1.xpath还有一个比较强的功能,是可以多个属性逻辑运算的,可以支持与(and)、或(or)、非(not)2.一般用的比较多的是and运算,同时满足两个属性# 实际工作当中遇到的问题,一个页面加载5个列表,但是只有一个是可见的# 通过这个就可以只加载可见的//*[@id="diycols" and not(@style="display: none;")]...原创 2020-04-01 18:29:32 · 2415 阅读 · 0 评论 -
selenium之 如何控制网页内嵌div中滚动条的滚动
项目过程当中遇到操作滚动条问题:这里是浏览器内嵌的横向滚动条,页面有2个TAB,这里主要是操作TAB2里面的横向滚动条,下图可以看出class=el-table__body-wrapper is-scrolling-left2个tab 那么操作第2个tab ,横向滚动到右侧,代码如下 js = 'document.getElementsByClassName("e...转载 2020-04-01 16:43:35 · 6084 阅读 · 1 评论 -
xpath定位
前言在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到。这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法。什么是xpath呢?官方介绍:XPath即为XML路径语言,它是一种用来确定XML1(标准通用标记语言3的子集)文档中某部分位置的语言。反正小编看这个介绍是云里雾里的,通俗一点讲就是...转载 2020-03-29 11:59:34 · 1550 阅读 · 0 评论 -
使用unittest.TestCase报错 test_id = test.id() TypeError: 'int' object is not callable
使用pythonunittest.TestCase 运行报错:test_id = test.id() TypeError: 'int' object is not callable 原来我在测试类中自定义了一个id属性冲突了导致修改即可原创 2020-03-27 14:15:59 · 797 阅读 · 2 评论 -
python 使用ddt数据驱动
使用unpack,表示将('id','kw', '虚竹')解包成'id','kw', '虚竹' ,传递给方法不使用unpack,表示将('id','kw', '虚竹')作为一个整体传递给方法原创 2020-03-26 13:15:43 · 265 阅读 · 0 评论 -
selenium错误提示: ElementNotVisibleException: Message: element not interactable
错误提示:selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable业务:在新增业务操作完毕之后,对列表数据进行循环,发现新增的数据不在对象当中,错误原因:可能是因为动态加载过程中,未加载出对应元素从而无法触发到该操作解决方案:增加等待时间,这个可能不是最佳方案,...原创 2020-03-24 14:05:10 · 2025 阅读 · 0 评论 -
selenium + python 获取table数据
方法一:"""根据table的id属性和table中的某一个元素定位其在table中的位置table包括表头,位置坐标都是从1开始算tableId:table的id属性queryContent:需要确定位置的内容"""def get_table_content(tableId,queryContent): arr = [] arr1 = [] tabl...转载 2019-05-23 18:40:56 · 6426 阅读 · 0 评论 -
selenium树节点持续添加
# -*- coding: utf-8 -*- #-------------------------------------------------------------------------------# @Name: login# @Description: # @Author: springbocai# @Date: 2019/5...原创 2019-05-23 14:56:22 · 616 阅读 · 0 评论 -
seleinum通过XPATH路径以及对应路径里面属性来定位元素
原创 2019-05-23 14:48:05 · 351 阅读 · 0 评论 -
selenium 当中的XPATH 使用变量
还有这种对比上面.format " {}" 我加了""转载 2019-05-23 13:54:04 · 2405 阅读 · 0 评论 -
seleium+python鼠标移动到二级菜单操作
# -*- coding: utf-8 -*- #-------------------------------------------------------------------------------# @Name: 11# @Description: # @Author: springbocai# @Date: 2019/5/...原创 2019-05-23 10:06:06 · 346 阅读 · 0 评论 -
python2和python3中TestSuite().addTest的区别
Python2中unittest.TestSuite().addTest()的参数是这样的:unittest.TestSuite().addTest(TestFun("test_nam"));其中TestFun是继承于TestCase的类,test_name是里面的测试函数。然后运行传list当参数: name_list=[TestFun("test_nam01"),Te...转载 2019-05-17 09:25:31 · 1459 阅读 · 0 评论 -
HTMLTestRunner测试报告美化
[项目地址]https://github.com/findyou/HTMLTestRunnerCN一、简介与使用1、前提python 2.7 需要连网络 (样式美化使用的百度的Bootstrap在线资源 )说明:如离线使用,可以下载bootstrap到本地,替换掉HTML_TMPL中的bootstrap.min.css等三个百度引用2、修改[Findyou]...转载 2019-05-25 14:34:49 · 3244 阅读 · 0 评论 -
selenium生成测试报告
# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport timeimport unittestimport HTMLTestReportCNclass baidu(unittest.TestCase): def set...原创 2019-05-25 13:56:45 · 1299 阅读 · 2 评论 -
selenium之 玩转鼠标键盘操作(ActionChains)
用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。而selenium给我们提供了一个类来处理这类事件——ActionChainsselenium.webdriver.common.action_chains.ActionChains(driver)from selenium.webdriver.common.action_c...原创 2019-05-25 11:18:48 · 1946 阅读 · 1 评论 -
selenium键盘KEY值
NULL = '\ue000' CANCEL = '\ue001' # ^break HELP = '\ue002' BACKSPACE = '\ue003' BACK_SPACE = BACKSPACE #删除键 TAB = '\ue004' #TAB键 CLEAR = '\ue005' RETURN = '\ue006'...转载 2019-05-25 10:43:47 · 1358 阅读 · 0 评论 -
selenium之 如何控制网页内嵌div中滚动条的滚动
<!DOCTYPE html><html><head><style type="text/css">div.scroll{background-color:#00FFFF;width:100px;height:100px;overflow:auto;} </style></head> <b...转载 2019-05-25 09:56:20 · 3732 阅读 · 0 评论 -
python selenium 滚动条处理、页面拖动
selenium中没有直接控制滚动条的方法,可以使用方法:execute_script(),可以直接执行js的脚本。 一、竖向滚动条控制,三种方法总有一款适合你。 1.滚动条拉到最底: js="var q=document.documentElement.scrollTop=10000" driver.execute_script(js) ...转载 2019-05-25 09:30:30 · 15273 阅读 · 3 评论 -
Python+selenium table表单处理
web后台软件经常会遇到一些table表单,记录一下table表单的处理方式table特征table表单页面源码一般有这几个明显的标签:table、tr、th、td<table>标示一个表格<tr>标示这个表格中间的一个行</th> 定义表头单元格</td> 定义单元格标签,一组<td>标签将将建立一个单元格,&l...转载 2019-05-23 18:42:26 · 2515 阅读 · 0 评论 -
Selenium定位之tr/td表格数据获取
获取tr/td表格中的所有内容,思路如下:1.首先或者到所有的tr行;2.遍历行,对每个td列定位,并获取对应的text3.利用list 保存text 并返回text def get_dept_list(self): row=self.driver.find_elements_by_tag_name('tr') list=[] ...转载 2019-05-23 18:57:08 · 11099 阅读 · 1 评论