
自动化测试
文章平均质量分 71
西门一刀
这个作者很懒,什么都没留下…
展开
-
部署jenkins从gitlab定时获取代码
一,准备工作Jenkins部署在192.168.112.2上面,Jenkins服务器中,也需要安装gitlabgitlab部署在192.168.112.3上面在Jenkins服务器配置用户名和邮箱,本地测试gitlab克隆代码在.ssh路径下配置全局的name和email,输入以下命令:git config --global user.name "xxxxx" git config --global user.email "xxxxx@xx.com"此处分别指工程文件名,和gi原创 2021-11-04 17:35:45 · 441 阅读 · 1 评论 -
使用Sikuli实现UI自动化测试
一,需求最近做RPA测试开发时发现一款好用的测试工具,名为Sikuli二,Sikuli介绍Sikuli(在墨西哥维乔印第安人的语言里是”上帝之眼”的意思)是由美国麻省理工学院开发的一种最新编程技术,使得编程人员可以使用截图替代代码,从而简化代码的编写流程。从它研究方向上看,是一种编程技术,但是该技术还可以用于进行大规模的程序测试,脚本程序编写使用的是python语言。Sikuli官网三,使用Sikuli在官网下载IDE客户端打开客户端,打开CMD窗口,输入以下命令即可打开,不需要安装j原创 2021-04-22 15:44:27 · 1135 阅读 · 4 评论 -
使用selenium打开带有证书的网页
def zs_get(url): def press_enter(): time.sleep(3) #可以多等待几秒 pyautogui.press("enter") #按下键盘回车键 t = threading.Thread(target=press_enter) t.setDaemon(True) #守护线程 t.start() #启动 dr = driver.get(url) #drver访问网址登陆页面 time.sle原创 2021-04-21 10:09:47 · 1181 阅读 · 0 评论 -
UI自动化之-使用DD_XOFT实现带有安全控件、U盾的输入
一,场景描述最近在做web端的UI自动化测试,涉及与第三方页面的交互,发现selenium对带有安全控件,U盾的输入框使用senkeys方法不起作用,无法正常输入内容,此时放弃selenium的输入,更换其他思路。python模拟鼠标键盘操作pymouse、pykeyboard,失败!python win32con,win32api中的键盘,鼠标方法,失败!系统事件的拷贝和粘贴,Ctrl+C,Crtl+V,失败!操作系统的键盘事件输入,DD插件,成功!问题总结,测试的时候发现,当使用U盾时,原创 2021-03-11 11:05:37 · 2857 阅读 · 1 评论 -
uiautomator2+python自动化测试1-环境准备
一,前言uiautomator是Google提供的用来做安卓自动化测试的一个Java库。功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作,但有两个缺点:测试脚本只能使用Java语言测试脚本必须每次被上传到设备上运行。我们希望测试能够用Python编写,能够在电脑上运行的时候就控制手机,于是就有了uiautomator,后来又有了uiautomator2,详情查看github地址https://github.com/openatx/uia原创 2021-03-06 00:29:31 · 294 阅读 · 0 评论 -
uiautomator2+python自动化测试2-查看app页面元素利器weditor
一,前言android sdk里面自带的uiautomatorviewer.bat可以查看手机app上的元素,但是不太好用,网上找了个大牛写的weditor,试用了下还是蛮不错的python环境:3.6二,weditor环境准备使用pip安装weditor,github地址https://github.com/openatx/weditorpip install --pre weditor创建桌面快捷图标python -m weditor --shortcut创建完成后,桌原创 2021-03-05 23:55:29 · 340 阅读 · 0 评论 -
selenium切换到iframe
一,定位iframe1. 有id,并且唯一,直接写iddriver.switch_to_frame("x-URS-iframe")driver.switch_to.frame("x-URS-iframe")2. 有name,并且唯一,直接写namedriver.switch_to_frame("xxxx")driver.switch_to.frame("xxxx")3. 无id,无name,先定位iframe元素iframe = driver.find_elements_by_tag_n原创 2021-03-01 09:53:52 · 1066 阅读 · 0 评论 -
APP自动化测试定位元素位置
一,ID定位方法如下图所示,使用uiautomator2 工具定位7的位置,只需要获取此位置的resource_id 信息即可如果有resource-id属性就取resource-id值,有id属性就取id值,有name属性就取name值但是在取resource-id、id、name值时这些值一定要唯一,可以唯一定位到该元素才行,如果值是一个通用值,那么无法区别出元素仍然无法定位,这时就要换其他定位方法如下图所示,资产总览和转账汇款的resource-id,class的值都是一样的,就需要结原创 2021-02-03 09:50:02 · 2149 阅读 · 3 评论 -
appium测试之获取appPackage和appActivity
一,方法一首先,你要有一个APP的安装包 xxx.apk,然后,通过这个解压工具将.apk解压。如下:通过notepad++ 打开AndroidManifest.xml 文件,在里面搜索:manifest对应的就是appPackage。搜索:activity对应的就是appActivity。(activity关键字很多,你要注意辨别。)二,方法二这种方法也比较简单,主要针对你没有.apk包的情况,比如Android原生自带的APP(计算器、通讯录、短信…),可以通过adb 命令。1,打开原创 2021-01-30 00:38:18 · 448 阅读 · 1 评论 -
xpath定位总结
1. Xpath简介Xpath不是selenium专用,只是作为一种定位手段,为selenium所用。Xpath是一门在xml文档中查找信息的语言。Xpath可用来在xml文档中对元素和属性进行遍历。由于html的层次结构与xml的层次结构天然一致,所以使用Xpath也能够进行html元素的定位。2. Xpath定位方法浏览器中如何找到元素Chrome浏览器:按F12,将鼠标点击下图中的图标,再到浏览器页面上选择需要定位的元素,Elements页中就会自动定位高亮显示页面中的元素。2.1 绝对路原创 2021-01-13 16:45:00 · 3533 阅读 · 0 评论 -
Selenium获取页面元素的href属性
本文来介绍如何通过Selenium获取页面元素的某一个属性。一个元素可能有多个属性,例如 class, id, name, text, href, vale等等。这里我们举例一个爬虫中经常需要处理的链接问题:找出当前页面所有的超链接。已百度首页为例,打印所有包含href的元素的链接。相关脚本代码如下:# coding=utf-8import timefrom selenium import webdriver driver = webdriver.Chrome()driver.maxim原创 2020-11-25 14:25:43 · 11774 阅读 · 0 评论 -
selenium对浏览器的基本操作
浏览器的基本操作:我们可以通过代码来实现直接控制浏览器,比如访问某个网址,前进后退、跳转浏览器大小、关闭等我们常用的功能,简单介绍一下get()直接访问某个网址(传参输入网址)back() 返回上一个页面forward()进入下一个页面close()关闭当前标签页quit()关闭浏览器set_window_size() 设置浏览器大小(传参输入浏览器长、宽)maximize_window() 最大化浏览器refresh() 刷新页面我们可以用一幅图来解释一下浏览器操作的方法在实际原创 2020-11-25 14:16:25 · 377 阅读 · 0 评论 -
Uiautomatorviewer报错:Unexpected error while obtaining UI hierarchy java.lang.reflect.InvocationT...
一、报错截图android8以后sdk自带的uiautomator直接打开,截取不到机器界面信息。建议可以使用以下方法手动截取二、解决方法1.截取uix文件adb shell uiautomator dump /sdcard/sc.uixadb pull /sdcard/sc.uix注明:新手机地址改成:/data/local/tmp/**.uix2.截取截图adb shell screencap -p /sdcard/sc.pngadb pull /sdcard/sc.png3.打原创 2020-11-03 11:37:08 · 627 阅读 · 0 评论 -
Android 10.0 adb shell dumpsys activity activities | findstr mFocusedActivity 获取当前的 activity 显示空的...
adb shell dumpsys activity activities | findstr mFocusedActivityAndroid 7.0 现象:Android 10.0 现象:改用:adb shell dumpsys activity activities | findstr mResumedActivity转载 2020-11-03 09:17:38 · 2228 阅读 · 1 评论 -
Linux上使用 selenium + chrome 实现无界面的自动化测试
安装Chrome浏览器下载Linux版chrome浏览器,如下图所示,在谷歌浏览器官网下载Linux系统chrome浏览器rpm包,将包上传到Linux服务器中Linux服务器中执行以下命令安装rpm包,安装过程如有其它依赖文件,需要依次安装依赖文件,由于环境不同就不一一列举了rpm -ivh 文件名.rpm测试浏览器是否可用,会调用浏览器并将页面生成截图保存在当前路径google-chrome-stable --no-sandbox --headless --disable-gpu原创 2020-10-23 17:10:42 · 2339 阅读 · 0 评论 -
Linux中自动化测试时,设置中文字体的方法
问题:使用Linux做web自动化测试时,会遇到网页截图的中文显示为方框的问题原因:ubuntu系统中缺少支持的中文字体。解决方案:1、下载任意一款中文字体(ttf格式的字体),我选择的是电脑自带的字体,在Windows的控制面板找到字体-宋体-simsun.ttc ,也就是宋体2、将该字体文件放入/usr/share/fonts/路径下3、依次执行如下命令使字体生效:mkfontdirmkfontscalefc-cache -fv #(最重要)4、通过命令 fc-list原创 2020-10-23 09:33:00 · 436 阅读 · 0 评论 -
python selenium2 中的显示等待WebDriverWait与条件判断expected_conditions举例
#coding=utf-8from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.support.wait import WebDriverWaitbase_url = "http://www.baidu.com"driver =转载 2020-08-14 11:22:17 · 190 阅读 · 0 评论 -
Pytest+Allure+Jenkins 自动化测试报告
基础篇—生成报告在自动化测试执行之后,生成一个美观大方的测试报告,也是测试过程中,非常最要的一环。测试报告直接反应了测试过程中发现的问题,分析测试报告是解决问题的最重要手段。那么一个专业的测试报告应该长什么样呢?废话不多说,直接上图:在上面这张测试报告中,整体用中文显示,易于阅读;左侧导航栏包含总览、分类、测试用例列表、图表等多个模块;右侧的总览页面中包含了用例数、成功率、历史趋势图、用例分类等多张表格;页面布局简约大方。那么如何生成这样一份测试报告呢?第一步,安装Python依赖库。两种方式任选原创 2020-08-07 11:17:28 · 1377 阅读 · 1 评论 -
Web自动化测试环境部署方法
安装自动化测试所需要的浏览器,Chrome浏览器 或 Firefox浏览器Chrome浏览器下载地址Firefox浏览器下载地址下载浏览器的驱动程序ChromeDriver下载地址FirefoxDriver下载地址将浏览器驱动程序放到Python安装的主目录在cmd中执行以下命令,安装selenium类库pip3 install seleniumPycharm中新建Python文件,添加以下代码from selenium import webdriverdriver = w.原创 2020-08-06 09:51:07 · 565 阅读 · 0 评论 -
selenium:解决页面元素display:none的方法
在UI自动化测试中,有时候会遇到页面元素无法定位的问题,包括xpath等方法都无法定位,是因为前端元素被设置为不可见导致。这篇博客,介绍下如何通过JavaScript修改页面元素属性来定位的方法。。。1、具体问题常见的页面元素不可见导致的不可定位,都是由于下面的问题:通过查看相关文档,可以看出display:none方法是设置元素不可见,这就是导致为什么通过定位页面元素无法定位的原因。...原创 2020-03-24 16:50:02 · 3461 阅读 · 1 评论 -
selenim之ActionChains(一)
大家好,来介绍下,今天要分享的是小编学ActionChains的经验。先来说一下今天要用到的方法:click(element=null) 点击元素,参数为空时,鼠标在当前位置点击send_keys(keys_to_send)向文本框发送文字、按键move_to_element(element) 鼠标悬浮在某元素上perform() 执行所有存储在ActionChains中的动作...原创 2020-03-24 16:42:54 · 203 阅读 · 0 评论 -
APP自动化测试环境准备工作
1. 安装python和pycharmhttps://www.python.org/,在此网站下载python程序,安装过程一路下一步,记得勾选添加环境变量安装完成打开cmd窗口,输入python --version,回车验证python安装成功https://www.jetbrains.com/pycharm/,在此网站下载pycharm工具2. 安装JDK和SDK1.https...原创 2020-02-15 14:37:34 · 451 阅读 · 0 评论 -
python自动化测试使用unittest之测试文件执行
导入unittest类库声明测试脚本文件所在路径定义discover对象打开相关脚本文件声明测试运算对象执行测试套具体实现为`:import unittestif __name__ == '__main__': test_dir = "./" discover = unittest.defaultTestLoader.discover(test_dir,patt...原创 2020-02-08 23:12:11 · 888 阅读 · 0 评论 -
web自动化之多种等待的总结
driver.implicitly_wait(5),WebDriverWait(driver,30,0.5)until(expected_conditions.alert_is_present())与time.sleep(5)的区别driver.implicitly_wait(5)是隐式等待1.隐式等待是一种智能等待,可以自动判断需要等待多久,括号中的5代表最大等待时间2.隐式等待只需要在声...原创 2020-02-02 09:10:17 · 693 阅读 · 0 评论 -
python自动化测试框架之使用main执行测试的顺序
使用python构建自动化测试框架导入unittest2,并继承unittest2.TestCase类,如下代码所示,执行结果见下图import unittest2class Unittest2_Demo(unittest2.TestCase):#测试用例执行顺序取决于字母顺序,test_login和test_register#这是一个测试用例方法,该方法可以直接运行 def ...原创 2020-02-02 08:23:34 · 331 阅读 · 0 评论