自动化测试
文章平均质量分 57
liulanba
这个作者很懒,什么都没留下…
展开
-
VLOOKUP使用备忘
VLOOKUP是一种在Excel中使用的非常常见的函数,它可以用来在一个数据范围内查找某个值,并返回该值所在行或列的其他相关数据。我在sheet1有两列A,B,具有数据,sheet有两列,E和F,F无数据,其中A和E是对应的,我希望在Sheet2通过E把B拿过来放到F列,应该怎么操作。其中,“Tom”是要查找的值,A2:C5是包含数据的范围,2表示要返回的列的索引(在这种情况下是“Age”列),FALSE表示要使用精确匹配。:包含要查找的数据的范围。3.2表示要返回的列的索引,也就是Sheet1中的B列。原创 2023-04-20 14:28:21 · 10557 阅读 · 0 评论 -
Message: stale element reference: element is not attached to the page document
背景:获取一组按钮,数量不确定,得到所有按钮A之后使用get_attribute(“innerHTML”)获取xpath并用A.find_element来获取每个按钮。报错:Message: stale element reference: element is not attached to the page document。根本原因:跳转之后所引用的元素已从 DOM 结构中删除,需要重新生成一个webdriver。查询:网上大多都是说网页元素未刷新,导致获取失败,强制sleep,没有用。原创 2022-11-03 10:37:48 · 3811 阅读 · 0 评论 -
selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executable needs to be in PAT
'chromedriver' 安装的代码分析:selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PAT原创 2022-04-23 16:17:25 · 9607 阅读 · 0 评论 -
Windows常用快捷键
做自动化测试的时候,需要用到许多快捷键操作,整理一下方便使用。功能键:F1 帮助F2 重命名、部分主板开机时的BIOS快捷键F3 查找F4 地址栏F5 刷新F6 切换(到地址栏)F9 部分主板开机引导F7、8 自定义F10 + Shift或Alt 右键菜单F11全屏F12 部分主板开机引导编辑键:Insert键:插入/改写键。使用该键可以切换当前文本输入状态是插入状态还是改写状态。Word、写字板、记事本等文字处理和某些程序编译器支持该功能。Delete键:删除键,文本编辑可原创 2021-03-23 17:16:19 · 3140 阅读 · 0 评论 -
python执行shell命令
1.不需要获取命令执行结果os.system(command)# -*- coding:utf-8 -*-import oscommand='adb devices'tt=os.system(command)print(tt)print(type(tt))输出结果为:0<class 'int'>2.需要获取命令执行结果tt=os.popen(command)# -*- coding:utf-8 -*-import oscommand='adb devic原创 2021-04-06 18:23:05 · 12979 阅读 · 0 评论 -
python-selenium遍历文件列表
需求:遍历QQ邮箱的在线文档并下载:审查一下元素,这一块也就是我们所需要的文件列表:文件列表的xpath:/html/body/div[2]/div/div[2]/div[2]/div[2]/ul每个文件的xpath:/html/body/div[2]/div/div[2]/div[2]/div[2]/ul/li[i]这个就是下载按钮的页面元素!直接上代码:def download_onlinedoc(): global browser onlinedoc_button=原创 2021-03-31 13:56:14 · 3227 阅读 · 0 评论 -
selenium页面跳转问题-QQ邮箱登录之后找不到元素
QQ邮箱自动登录可以参考:python实现滑动验证登录之后需要定位元素“写信":怎么也定位不到,可能报错的地方也已经修改过了,不是iframe和定位位置不正确的问题:[NoSuchElementException]这时候应该考虑页面跳转:python-selenium窗口切换但是QQ邮箱的情况不太一样,域名都是mail.qq.com,只是登录之后新增加了一些子级域名,...原创 2021-03-30 11:27:28 · 4254 阅读 · 5 评论 -
python-selenium开发(2:高阶用法)
1.表单切换在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过1.switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中。2.switch_to.default_content()跳回最外层的页面参考链接2.表单切换在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作原创 2021-03-29 17:53:00 · 2970 阅读 · 0 评论 -
python-selenium开发(1:基础用法)
在本例中,通过as关键字将expected_conditions 重命名为EC,并调用presence_of_element_located()方法判断元素是否存在。有的class name是有多个class组合的复合类,中间以空格隔开,使用find_element_by_class_name()就会定位失败,这时可以用"."代替空格。WebDriverWait()一般由until()或until_not()方法配合使用,下面是until()和until_not()方法的说明。原创 2021-03-29 17:07:01 · 4387 阅读 · 10 评论 -
python实现滑动验证
做自动化测试的时候,需要自动登录QQ邮箱,在网上找的都是基于selenium的,而且代码在本地运行也并没有取得满意的效果:关键在于每个滑动解锁的网页不同,编码和格式就不同,代入我的原创 2021-03-29 11:33:08 · 5905 阅读 · 3 评论 -
selenium.common.exceptions.NoSuchFrameException: Message:xxx
首先描述一下问题:自动化QQ邮箱登录,账户密码输入后跳转到验证界面,此时需要定位元素却怎么也定位不到:账户密码输入有问题的请参考:无法定位元素的问题代码如下:browser = webdriver.Firefox()browser.get("https://mail.qq.com/")browser.switch_to.frame("login_frame")browser.find_element_by_class_name("inputstyle").clear()browser.fi原创 2021-03-25 17:38:51 · 6292 阅读 · 5 评论 -
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate:xxx
最近在搞自动化测试,使用selenium框架,在页面审查元素得到了id,class等,但是使用Selenium WebDrive的find_element_by*来定位元素的时候却会报错:代码如下:#coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport timeimport paramikoimport pyautoguibrowser=webdrive原创 2021-03-25 11:33:15 · 5101 阅读 · 4 评论 -
Python使用winrm远程连接另一台PC并控制
首先需要在Windows上配置winrm来保证可以进行连接和控制:参考链接以我自己的电脑为例:使用192.168.64.84(win10)连接192.168.64.80(win7)并进行控制。此处是删除win7的一个图片的例子:import winrmimport times=winrm.Session('http://192.168.64.80:5985/wsman',auth=('admin','000000'))time.sleep(5)s.keep_alive = Falsec原创 2021-03-23 15:43:29 · 4344 阅读 · 4 评论 -
python-pyautogui的使用
Pyautogui是Python的一个库,可以模拟鼠标键盘的操作,实现自动化的功能!安装:pip install pyautogui正常情况都可以安装成功,如果网络状况不佳,可以设置超时和镜像。导入模块import pyautogui鼠标操作函数函数功能click()在当前位置点击鼠标position()获取鼠标当前位置size()获取屏幕分辨率move()从当前位置移动鼠标指定距离moveTo()移动鼠标到指定位置dragT原创 2021-03-18 14:08:15 · 3463 阅读 · 0 评论 -
python_paramiko模块用法
paramiko是用python语言写的一个模块,远程连接到Linux服务器,查看上面的日志状态,批量配置远程服务器,文件上传,文件下载等,提供了ssh及sftp进行远程登录服务器执行命令和上传下载文件的功能。一、基于用户名和密码实现SSH功能import paramiko# 创建SSH对象ssh = paramiko.SSHClient()# 允许连接不在known_hosts文件上的主机# 即允许将信任的主机自动加入到host_allow 列表,此方法必须放在connect方法的前面ss原创 2021-03-09 20:23:00 · 7564 阅读 · 1 评论 -
python configparser处理.ini配置文件
配置文件(.ini)有两种格式:session1.key=value2.key:value建立一个ini文件测试,内容如下:[jingdong]loca=beijingboss=liuqiangdong[Alibaba]loca=hangzhouboss=mayun[tecent]loca=shehzhenboss=mahuateng[huawei]loca=shenzhenboss=renzhenfei1.read()函数def read(self, filena原创 2021-03-09 17:00:40 · 2899 阅读 · 3 评论 -
ac.find_template识别图片并定位
这里的ac就是aircv,可以直接用pip安装pip install aircv使用的时候就可以用:import aircv as ac在aircv的init文件中对于find_template函数的解释如下:def find_template(im_source, im_search, threshold=0.5, rgb=False, bgremove=False): ''' @return find location if not found; return Non原创 2021-03-09 13:45:45 · 9517 阅读 · 9 评论 -
win10配置winrm以及错误处理
winRM服务是windows server下PowerShell的远程管理服务。Python脚本通过连接winRM模块操作windows命令行。查看winrm服务状态,默认没有启动winrm enumerate winrm/config/listenerwinrm服务启动winrm quickconfig报错:PS C:\Windows\system32> winrm quickconfig在此计算机上,WinRM 未设置为接收请求。必须进行以下更改:启动 WinRM 服原创 2021-03-22 16:28:40 · 18178 阅读 · 3 评论