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测试报告

 

文章来自:http://www.cnblogs.com/wangcp-2014/p/5692783.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3