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开发者一定受够了速度慢.体验差效率及其地下的官方模拟器了 ...
随机推荐
- NE、EQ等比较操作符的意义
比较所有的 字段类型 要比较所有 的字段类型 ,可以在逻 辑表达式中 使用下列运 算符: <运算符>含 义 EQ 等于 = 等于 NE 不 等于 <> 不 等于 >< ...
- C#操作FTP, FTPHelper和SFTPHelper
1. FTPHelper using System; using System.Collections.Generic; using System.IO; using System.Net; usin ...
- shell 基本结构
就像其他的编程语言一样,shell也有三种基本的结构:顺序结构.分支结构.循环结构.顺序结构就是按照命令的出现顺序依次执行,比较简单.如下分别介绍分支结构和循环结构. 分支结构 格式1: if com ...
- Eclipse快捷键壁纸-0基础必备
- 11.5Daily Scrum
人员 任务分配完成情况 明天任务分配 王皓南 实现网页上视频浏览的功能.研究相关的代码和功能.811 数据库测试 申开亮 实现网页上视频浏览的功能.研究相关的代码和功能.812 实现视频浏览的功能 王 ...
- 【Binary Tree Level Order Traversal】cpp
题目: Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to ri ...
- udp 视频包网络传输花屏
视频数据传输在传输层可以选择TCP或者UDP,TCP面向连接,传输中断,发送端是知道的.TCP传输的好处是不丢包,坏处是网络不太好的情况下会越堵越严重.UDP非面向连接,发送端只管发送数据,接收端有没 ...
- OS X 使用技巧——不用鼠标就能打开应用程序
如果要打开的应用程序没有保留在Dock栏里,一种快速启动它的办法是按住Control+Space键后再输入应用程序的名称.按Control+Space键会开启聚光灯(Spotlight)搜索工具,它会 ...
- ExtjsMVC开发过程中遇到的具体问题总结
1.登陆相关问题 1.如何在文本框中增加提示信息 2.如何在文本框中触发回车事件 3.如何在回车事件中触发按钮的动作 总结:ht ...
- 04.spring-data-redis与Jedis整合使用
1.spring-data-redis与Jedis简单整合 spring-data-redis与Jedis简单整合,Redis没有任何集群只是单节点工作,使用连接池 1.创建spring-contex ...