• 第二章 测试环境搭建(下)


    2.3 模拟器管理

         经过上面的环境配置,我们已经搭建起了一个Appium+Python安卓App的测试环境。不过要运行具体的app测试用例的时候,我们需要有运行环境,通常有模拟器和真机两种。在此我们先创建一个模拟器,检测一下我们的环境是否搭建成功。

    AVD模拟器

    Ø  启动我们安装的ADT中的eclipse,点击Eclipse软件的Windows菜单,选择其下的Android Virtual Device Manager菜单项,进入Android Virtual Device Manager其对话框。如图2.3.1所示:

     

    第二章 <wbr>测试环境搭建(下)

    2.3.1 Android Virtual Device Manager

    Ø  点击左侧Create按钮可新建android手机模拟器。在Create new Android Virtual Device Manager对话框的输入相应的内容:

    A, name文本框内给要创建的模拟器起个名字,例如antester。

    B,在Device列表框内选择Galaxy Nexus(4.65,720*1280;xhdpi)。

    C, target列表框自动选择了android 4.4 API Level 19{现在已安装的开发环境里只有一套API,读者可自行安装其他API,届时可任选其他API作为自己测试平台}默认即可,其他选项此时可以不做选择默认设置即可。

    D,点击对话框的OK按钮确认,即可创建Android 模拟器。

      以上所有设置,如图2.3.2所示。

                              第二章 <wbr>测试环境搭建(下)

    图2.3.2,创建模拟器

    启动android模拟器

    模拟器的启动方法有两种:

    一,在Android Virtual Device Manager中选择要启动的模拟器,单击右侧的“start”按钮,然后在弹出的对话框中单击“launch” 按钮即可启动。

    二,cmd之后键入 emulator @antester,等待数秒之后android手机模拟器启动。如图2.3.3所示: 

     

    第二章 <wbr>测试环境搭建(下)

    图2.3.3 启动模拟器

    2.4 检测测试环境

    1,启动appium

    在Windows下,找到appium应用程序,双击打开,然后单击右上角的appium启动按钮,看到输出日志,如图2.4.1所示,表明启动成功。

     

    第二章 <wbr>测试环境搭建(下)
    图2.4.1 启动appium

    2,启动android模拟器

    启动方法:在cmd下输入:emulator @antester,过一会儿就会弹出android模拟器:如图2.3.3所示。使用adb安装要测试的App,我们使用的是众筹网的App。

    3,编写测试用例

    使用你习惯的编辑软件来写你的测试用例,我用语言是python,下面介绍一下具体的测试用例login.py。

    #-*- coding: UTF-8 -*-
    
    #导入常用的包
    
    import os
    
    import time
    
    import unittest
    
    from selenium import webdriver
    
    from lib2to3.pgen2.driver import Driver
    
    from lib2to3.tests.support import driver
    
    #设置路径信息
    
    PATH=lambda p:os.path.abspath(
    
    os.path.join(os.path.dirname(__file__),p)
    
    )
    
    global driver
    
    class LoginAndroidTests(unittest.TestCase):
    
    def setUp(self):
    
    #初始化测试平台
    
    desired_caps={}
    
    desired_caps['device'] = 'android'
    
    desired_caps['platformName']='Android' #测试平台
    
    desired_caps['browserName']=''
    
    desired_caps['version']='4.2.2'#系统版本
    
    desired_caps['deviceName']='antester'#模拟器名称
    
    desired_caps['app-package']='com.subject.zhongchou'#要测试的app
    
    desired_caps['app-activity']='.ZhongChou'#当前活动应用
    
    self.driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
    
    def tearDown(self):
    
    self.driver.quit()
    
    def test_login(self):
    
    time.sleep(30)
    
    #点击“注册登录”按钮
    
    button=self.driver.find_element_by_id("com.subject.zhongchou:id/register_button")
    
    button.click()
    
    time.sleep(10)
    
    #登录
    
    name = self.driver.find_element_by_id('com.subject.zhongchou:id/loginnumber_phone')
    
    name.click()
    
    name.send_keys('183XXXXX905') #输入用户名
    
    psd = self.driver.find_element_by_id('com.subject.zhongchou:id/loginnumber_password')
    
    psd.click()
    
    psd.send_keys('XXXXXXX') #输入密码
    
    blogin=self.driver.find_element_by_id('com.subject.zhongchou:id/go_numberlogin') #单击登录按钮
    
    blogin.click()
    
    time.sleep(10)
    
    #此处要检测是否登录成功,我懒省事,略了!
    
    if __name__ == '__main__':
    
    suite = unittest.TestLoader().loadTestsFromTestCase(LoginAndroidTests)
    
    unittest.TextTestRunner(verbosity=2).run(suite)

    上面是一个完整的测试用例,如果里面有不明白的地方,不要紧先对这个自动化测试用例有个整体的了解,后面的章节我们会详细介绍。

    4,运行测试用例

    打开终端,进入到测试用例的目录下,运行测试用例文件:

    Python login.py,回车后可以看到Appium终端有日志输出,而在模拟器上会安装众筹的App,安装过程是看不到的。

       然后启动要测试的App,进入例登录界面,输入用户名和密码,登录成功。如果这个过程没有出错的话,说明我们的环境没有任何问题,就可以开始我们的Appium手机App自动化编程旅了。

       当然不同的操作系统,不同的软件版本,难免会遇到各种奇葩的问题。在此我也不能一一列举出所遇到的问题及解决方案。大家要会在网上查询,以及查看appium的输出日志。很多问题都是因为手机或是模拟器Android版本,Appium Api版本以及app的版本不一致造成的。希望大家从此入手,去排查出现在各种问题、

    2.5 本章小结

    本章我们讲解了Windows环境下appium开发环境的搭建,而且通过一个简单的测试用例来检测一下我们搭建的环境是否成功。通过本章的学习,你应该能搭建出自己的开发环境,如果测试用例不理解,没有关系,我们后面会逐步讲解的。工欲成其事,必先利其器。有好的开发环境,在以后的学习中才能如虎添翼。

     
  • 相关阅读:
    Kafka入门经典教程【转】
    利用shell找出15分钟内修改的文件
    MySQL性能剖析工具(pt-query-digest)【转】
    Python3安装配置【转】
    查看nginx | apache | php | tengine | tomcat版本的信息以及如何隐藏版本信息【转】
    linux通过sendmail发送邮件
    crontab每10秒钟执行一次
    shell expect的简单用法【转】
    linux中Shell标准输出错误 >/dev/null 2>&1 分析【转】
    Ansible 插件 之 【CMDB】【转】
  • 原文地址:https://www.cnblogs.com/eagleking0318/p/6521986.html
Copyright © 2020-2023  润新知