android模拟器(genymotion)+appium+python 框架执行基本原理(目前公司自己写的)
android模拟器(genymotion)+appium+python 框架执行的基本过程:
1、Push.initDate(openid)方法 //业务数据初始化
1.1 v5db.push_to_db(filename, openid) //通过执行filename文件里sql语句,使业务数据初始化,比如物理删除订单,以确保不会因为数据原因导致自动化执行失败
2、Android.Android.init_Android(self) //初始化Android模拟器
class android:
def init_Android(self):
try:
desired_caps = {}
desired_caps['deviceName'] = 'device'
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.3'
desired_caps['app'] = PATH('D:\\Workspace\\projectName_app_appium_test\projectNameApp\\agent4.0.0_test.apk')
desired_caps['appPackage'] = 'com.***.finance.agent'
desired_caps['appActivity'] = 'com.***.finance.agent.LuncherActivity'
desired_caps['unicodeKeyboard'] = 'True'
desired_caps['resetKeyboard'] = 'True'
return desired_caps except Exception,ex: print ex
3、web.Web.webPath(self, androidMap) //将app相关信息塞到远程虚拟机运行的appium上,从而获得期望的driver
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', androidMap)
4、Push.controller(driver) //正式开始执行case
4.1 读取case映射表,映射出case的描述
4.2 if执行case在映射表中可以匹配到,则 按行读取case文件内容,并处理case内容
处理case内容,分别获得执行时所需参数1)ids_key->ids:元素id 2)ele_type:元素类型 3)input_Value:输入内容 4)msg:步骤描述信息 5)assert_message:校验信息
4.3 调用Push.fillElement(driver,ids,ele_type,input_Value,msg,assert_message) //定位元素,并对其进行操作
4.3.1 定位元素
4.3.2 对元素进行操作
4.3.3 Push.checkResut(driver, times, msg, assertMsg, input_value) //写元素操作日志
5、case文件执行完成,driver。quit() //关闭driver
6、push.logInfo(time) //输出case测试报告
android模拟器(genymotion)+appium+python 框架执行基本原理(目前公司自己写的)的更多相关文章
- android模拟器(genymotion)+appium+python 框架执行过程中问题解答
1.case运行过程中中文输入不进去? 答:注意事项 1)需要修改系统编码为utf-8,才能解决中文输入问题,case执行入口文件添加代码如下: import sys reload(sys) sys. ...
- 比真机还快的Android模拟器——Genymotion
比真机还快的Android模拟器--Genymotion ----转载请注明出处:coder-p ...
- (转)最强Android模拟器genymotion的安装与配置
Android开发人员都知道,原生的模拟器启动比较慢,操作起来也不流畅,还会出现莫名的问题.当然很多人都会选择直接使用android手机来开发,但是有时候需要在投影仪上演示程序的时候手机不太好做到吧. ...
- 用android模拟器Genymotion定位元素
1.下载并安装android模拟器Genymotion 2.拖apk包到模拟器,双击模拟器中的apk软件包,进入应用程序 3.下载并安装android sdk 3.1 点击...\Android\an ...
- 最强Android模拟器genymotion的安装与配置
Android开发人员都知道,原生的模拟器启动比较慢,操作起来也不流畅,还会出现莫名的问题.当然很多人都会选择直接使用android手机来开发,但是有时候需要在投影仪上演示程序的时候手机不太好做到吧. ...
- Android模拟器genymotion安装与eclipse 插件安装
推荐一款Android模拟器"Genymotion",有点速度快,占用资源少,可整合eclipse.闲话少谈,看安装步骤. 1.下载地址:https://www.genymotio ...
- Genymotion Android模拟器Genymotion的安装和使用
Android模拟器Genymotion的安装和使用 by:授客 QQ:1033553122 环境: Win7 Genymotion 2.12.0 下载地址:http://download.canad ...
- 【Android Studio安装部署系列】三十二、Android模拟器Genymotion安装使用教程详解
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 一.注册\登录 打开Genymotion官网,https://www.genymotion.com/ ,首先点击右上角的Sign in进行 ...
- 安装Android模拟器Genymotion【Android学习入门】
安装Android模拟器Genymotion 推荐教程:一个强大的Android模拟器Genymotion具体内容如下: 相信很多Android开发者一定受够了速度慢.体验差效率及其地下的官方模拟器了 ...
随机推荐
- ListView与GridView异步加载图片
原理很简单,主要是用到了回调方法,下面是异步加载图片的类 <span style="font-size:16px;">package com.xxx.xxx; impo ...
- sql server 小记——分区表
我们知道很多事情都存在一个分治的思想,同样的道理我们也可以用到数据表上,当一个表很大很大的时候,我们就会想到将表拆 分成很多小表,查询的时候就到各个小表去查,最后进行汇总返回给调用方来加速我们的查询速 ...
- golang:interface{}类型测试
在golang中空的interface即interface{}可以看作任意类型, 即C中的void *. 对interface{}进行类型测试有2种语法: 1. Comma-ok断言: value, ...
- 关于asp.net和iis的进程/线程问题,假如网站有1000个人访问,会产生多少个进程/线程啊
详解 ASP.NET异步 超好的文章
- zookeeper的一些异常总结
1.Could not find the main class: org.apache.zookeeper.server.quorum.QuorumPeerMain. Program will ex ...
- openSUSE install failed
install openSUSE 13.1 with vmware play (version 6.0.0) calling the yast module 'inst_autoinit has f ...
- FPGA开发心得
创新源于模仿,另一个意思就是,我们需要站在巨人的肩膀上起航. 至芯科技培训注重于“按图施工”,在没有达到这种境界的时候,我们需要有我们自己的思想 我的思想: always 时钟分频 数据接收 上升沿和 ...
- 不同系统间传输float型数据
#include <stdio.h> #include <string.h> int main(void) { union result { float d; ...
- 一、换系统wince ---到 linux ubuntu 桌面
今天终于拿到了OK6410,还是比较满意.预装的为wince系统,现要修改为linux 按照 OK6410-A开发板LINUX3.0.1-2013-01用户手册 进行 1.遇到问题.无法写入SD卡( ...
- OC-通讯录
要求描述:用OC语言完成简易通讯录(实现增删改查)功能.(注:使用MRC) 1.创建AddressBook类. 1)使用字典作为容器,字典的Key值为分组名(姓名首字母),value值为数组,数组中存 ...