摘要:
☀ 什么是字典 字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 键必须是唯一的,但值则不必 阅读全文
摘要:
一、什么是列表、元组 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表 阅读全文
摘要:
☞写在前面 在说Python之前,我想先说一下自己为什么要学Python,我本人之前也了解过Python,但没有深入学习。之前接触的语言都是Java,也写过一些Java自动化用例,对Java语言只能说有所掌握,但离精通还有较大的距离。Java我先前也有学过,但我觉得学起来还是比较吃力的,特别在自学状 阅读全文
摘要:
一、导入键盘事件 1.导入语句 想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写。Keys类中提供了几乎所有的键盘事件包括组合按键如 Ctrl+A、 Ctrl+C 等。 from selenium.webdriver.common.keys i 阅读全文
摘要:
Airtest是网易开发的手机UI界面自动化测试工具,它原本的目的是通过所见即所得,截图点击等等功能,简化手机App图形界面测试代码编写工作。 安装和使用 安装Airtest 从Airtest官网:https://airtest.netease.com下载Airtest,然后像安装普通软件一样安装即 阅读全文
摘要:
目标 从源码制作出可运行APP,支持测试工作 各种自动任务 Daliy Build打包 Daliy Build发布 Daliy Build打包UI自动化测试 利用技术帮忙“做杂活” 优势 重复是劳动任务,减少人力成本,提升工作效率 Build不再是阻碍测试进度的因素 自动化重用率高,维护评率低 涉及 阅读全文
摘要:
pageobject设计思想出自于马丁·福勒(Martin Flower,对,没错,就是软件教父)官网的一篇文章,官网连接:https://martinfowler.com/bliki/PageObject.html 还有一篇针对官网文章的中文翻译版:http://huangbowen.net/bl 阅读全文
摘要:
adb是什么 adb的全称为Android Debug Bridge,就是起到调试桥的作用。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。 adb有什么用 借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其 阅读全文
摘要:
强制等待:sleep() import time sleep(5) #等待5秒 设置固定休眠时间,单位为秒。 由python的time包提供, 导入 time 包后就可以使用。缺点:不智能,使用太多的sleep会影响脚本运行速度。 隐式等待:implicitly_wait() driver.impl 阅读全文
摘要:
要求: 需要退出当前所有的谷歌浏览器(特别注意) 找到chrome的启动路径 启动命令windows:chrome --remote-debugging-port=9222 启动命令mac:Google\ Chrome --remote-debugging-port=9222 配置环境变量 mac 阅读全文
摘要:
文件上传 input标签可直接使用send_keys(文件地址)上传文件 self.driver.find_element_by_id('上传按钮id').send_keys('文件路径+文件名') 下面以百度图片搜索上传图片为例 #!/usr/bin/python # -*- coding: UT 阅读全文
摘要:
WebDriver提供了execute_script()方法来执行JavaScript代码 具体DOM操作使用方法见之前写的一篇博文:https://www.cnblogs.com/feng0815/p/8215768.html 关于Webdriver自动化测试之执行JavaScript脚本可直接参 阅读全文
摘要:
一、多窗口处理 在进行自动化测试的时候,经常会遇到点击一个连接或按钮后,会打开一个新的页面,需要我们在新的窗口进行操作,这个时候就需要使用Webdriver里的switch_to_window方法了 #!/usr/bin/python # -*- coding: UTF-8 -*- """ @aut 阅读全文
摘要:
TouchAction,类似于ActionChains,ActionChains只是针对PC端程序鼠标模拟的一系列操作,对H5页面操作是无效的。TouchAction可以对H5页面操作,通过TouchAction可以实现点击、滑动、拖拽、多点触控,以及模拟手势等各种操作。 关于 ActionChai 阅读全文
摘要:
pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: 简单灵活,容易上手 支持参数化 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests) pytest具有很多第三方插件,并且可以 阅读全文
摘要:
前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术。这样在网页加载完成后,url虽然不改变但是网页的DOM元素内容却可以动态的变化。如果处理这种网页是还用requests库或者python自带的urllib库那么得到的网页内容和网页在浏览器中显示的内容是不一致的。 解决方案 阅读全文
摘要:
通过appium-desktop定位元素 ClassName Android Android的class属性对应ClassName定位方式,ClassName一般都是会重复的,可以通过index来获取需要的元素。(从0开始查找dom树中的同名class属性) iOS iOS的type属性对应CLas 阅读全文
摘要:
Appium 初始化配置信息(Desired Capabilities),Desired Capabilities实际上就是一个字典,它主要用于向Appium Server提供初始化配置参数,如:想要测试的系统是Android还是IOS,测试哪款软件,软件的入口是哪里等。 这种服务关键字在网上很多, 阅读全文
摘要:
手机App分为两大类,原生App(Native App)和混合APP(Hybrid App) 原生App(Native App) 原生App实际就是我们所常见的传统App开发模式,云端数据存储+App应用客户端。App应用客户端,包含了所有的UI元素、框架逻辑等。只有数据存储在云端。 混合App(H 阅读全文
摘要:
什么是Css Selector? Css Selector定位实际就是HTML的Css选择器的标签定位 工具 Css Selector的练习建议大家安装火狐浏览器后,下载插件,FireFinder 或 FireBug和FirePath组合使用。 Css Selector使用方法 1、Css Sele 阅读全文