app自动化测试中的相关api
这个说的api即python自动化测试中经常会使用到的一些api,具体如下:
1、find_element_by_id/find_elements_by_id
定位元素api,使用方法如下:
driver.find_element_by_id('digit8')
2、find_element_by_name
定位元素api,使用方法如下:
driver.find_element_by_name('')
3、find_element_by_accessibility_id
定位元素api,使用方法如下:
driver.find_element_by_accessibility_id('平方号')
4、press_keycode
硬件编码值发送相应的值,硬编码对应值如下:

比如,需要输入5,可以按照如下发送键值:
driver.press_keycode(12)
5、send_keys
发送字符到对应的元素中,如:
driver.find_element_by__id('kw').send_keys('Hello')
6、click
定位到元素时,点击该元素,用法如下:
driver.find_element_by_accessibility_id('平方号').click()
7、scroll
从一个元素滚动到另外一个元素:
ele1 = driver.find_element_by_id('1')
ele2 = driver.find_element_by_id('10')
driver.scroll(ele1,ele2)
8、drag_and_drop
拖放操作,把一个元素拖放到另外一个元素上
ele1 = driver.find_element_by_id('1')
ele2 = driver.find_element_by_id('10')
driver.drag_and_drop(ele1,ele2)
9、tap
点击操作
#单点触摸
driver.tap([(x1,y1)])
#多点触摸
driver.tap([(x1,y1),(x2,y2)])
10、swipe
从一个位置滑动到另外一个位置:
driver.swipe(x1,y1,x2,y2)
11、flick
快速滑动,和swipe类似
driver.flick(x1,y1,x2,y2)
12、current_activity
显示当前app的activity
print(driver.current_activity)
13、wait_activity
等待activity显示,如下为等待3s,每1scheck一次
driver.wait_activity(driver.current_activity,3,1)
14、background_app
把app转到后台,过多少秒后返回前台
driver.background_app(5)
15、is_app_install
查看对应app有没安装
driver.is_app_install('com.meizu.flyme.calculator')
16、install_app
安装app
driver.install_app('H:\\calculator.apk')
17、remove_app
卸载app
driver.remove_app('com.meizu.flyme.calculator')
18、launch_app
启动app
driver.launch_app(5)
19、close_app
关闭app
driver.close_app()
20、start_activity
启动包下面对应的activity
driver.start_activity('com.meizu.flyme.calculator','.Calculator2')
21、get_screenshot_as_file
截屏
driver.get_screenshot_as_file('t1.png')
22、swich_to
切换到另外一个frame/windows/context
driver.switch_to.frame(element_frame)
23、contexts
返回context内容
print(driver.contexts)
app自动化测试中的相关api的更多相关文章
- 黑盒测试在App自动化测试中的应用
黑盒测试在App自动化测试中的应用 不废话,直接来. 先说说什么是黑盒测试 黑盒测试,这里就说的是app功能测试,之前看到一个介绍说,就是在测试中,把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试 ...
- 【Socket编程】Java中网络相关API的应用
Java中网络相关API的应用 一.InetAddress类 InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)地址. InetAddress类没有构造方法,所以不能直接new出 ...
- APP自动化测试中Monkey和 MonkeyRunner
在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程步步执行测试,得到实际结果与期望结果的比较.在此过程中,为了节省人力.时间或硬件资源,提高测试效率,便引入了自动化测试的概念.自动化测 ...
- Java中网络相关API的应用——InetAddress&URL
一.InetAddress类 标识网络上的硬件资源 package com.homework; import java.net.InetAddress; import java.net.Unknown ...
- TensorFlow——tf.contrib.layers库中的相关API
在TensorFlow中封装好了一个高级库,tf.contrib.layers库封装了很多的函数,使用这个高级库来开发将会提高效率,卷积函数使用tf.contrib.layers.conv2d,池化函 ...
- 篇4 安卓app自动化测试-Appium API进阶
篇4 安卓app自动化测试-Appium API进阶 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),今天是<安卓app自动化测试& ...
- 某音乐类App评论相关API的分析及SQL注入尝试
关键字:APIfen.工具使用.sql注入 涉及工具/包:Fiddler.Burpsuite.Js2Py.Closure Compiler.selenium.phantomjs.sqlmap 摘要: ...
- TCP/IP协议栈源码图解分析系列10:linux内核协议栈中对于socket相关API的实现
题记:本系列文章的目的是抛开书本从Linux内核源代码的角度详细分析TCP/IP协议栈内核相关技术 轻松搞定TCP/IP协议栈,原创文章欢迎交流, byhankswang@gmail.com linu ...
- Day7:掌握APICloud应用管理相关服务的配置使用和相关API,包括:应用发布、版本管理、云修复、闪屏广告等。理解APICloud APP优化策略和编码规范;了解APICloud多Widget管理机制和SuperWebview的使用
主要内容: 1. 应用发布 1.1 云编译 1.2 全包加密 网页全包加密:对网页中全包的html,css,javascript代码进行加密,加密后的网友代码都是不可读的,并且不能通过常用的格式化工具 ...
随机推荐
- 每月IT摘录201903
技术 1.在开发高并发系统时,有很多手段来保护系统,如缓存.降级.限流等.缓存可以提升系统的访问速度,降级可以暂时屏蔽掉非核心业务,使得核心业务不受影响.限流的目的是通过对并发访问进行限速,一旦达到一 ...
- equals的使用
源码:这里只是把Integer拿出来,String,Long 都一样 /** * Compares this object to the specified object. The result is ...
- oracle可重复执行脚本(添加字段)
--添加债券期限字段 declare cn integer; begin cn := 0; select count(*) into cn from user_tab_cols t where t.t ...
- APIcloud微信支付和支付宝支付(方案2,主要在后台进行)
支付宝代码 var aliPay = api.require('aliPay'); api.ajax({ url: yuming+'index.php/api/Alipay/getOrder', me ...
- 关于@autoreleasepool
苹果推荐使用场景: 如果你编写的程序不是基于 UI 框架的,比如说命令行工具: 如果你编写的循环中创建了大量的临时对象:(常用) 如果你创建了一个辅助线程. @interface ViewContro ...
- [leetcode]46. Permutations全排列(给定序列无重复元素)
Given a collection of distinct integers, return all possible permutations. Input: [1,2,3] Output: [ ...
- 记一次SQL性能优化,查询时间从4000ms优化到200ms.
以下这句SQL是从PLM中获取代办工作流的.没优化前SQL语句执行一次大概4000ms(4秒). select ch.change_number changeNumber, f.text change ...
- java ssh执行shell脚本
1.添加依赖 com.jcraft:jsch ch.ethz.ganymed:ganymed-ssh2:262 2.获取连接 conn = new Connection(ip, port); conn ...
- permissions required by Vibrator.vibrate: android.permission.VIBRATE
<!-- 静止休眠 --><uses-permission android:name="android.permission.WAKE_LOCK" />&l ...
- rpo攻击
0 什么是RPO攻击? RPO(Relative Path Overwrite)相对路径覆盖,是一种新型攻击技术,最早由Gareth Heyes在其发表的文章中提出.主要是利用浏览器的一些特性和部分服 ...