Appium 自动化测试(3)-- 脚本开发:官方demo演示 android_contacts.py

前提:根据前面的环境搭建介绍,安装好相关环境

step1:启动android模拟器

step2:启动Appium服务端

step3:演示代码执行

  这里执行的是官方的演示代码:通讯录管理app,安装打开app,并添加一个联系人保存的操作

  a.首先去下载ContactManager.apk放到E盘   E:\ContactManager.apk

    https://github.com/appium/sample-code/blob/master/sample-code/apps/ContactManager/ContactManager.apk

  b.将官网的示例代码 android_contact.py 下载下来 放在 Python的目录

    https://github.com/appium/sample-code/blob/master/sample-code/examples/python/android_contacts.py

  c.对python代码进行部分修改

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import unittest
from appium import webdriver
from time import sleep

# Returns abs path relative to this file and not cwd
PATH = lambda p: os.path.abspath(
    os.path.join(os.path.dirname(__file__), p)
)

class ContactsAndroidTests(unittest.TestCase):
    def setUp(self):
        desired_caps = {}
        desired_caps[‘platformName‘] = ‘Android‘
        desired_caps[‘platformVersion‘] = ‘4.4.2‘
        desired_caps[‘deviceName‘] = ‘Android Emulator‘
        desired_caps[‘app‘] = PATH(
            ‘E:\ContactManager.apk‘
        )
        desired_caps[‘appPackage‘] = ‘com.example.android.contactmanager‘
        desired_caps[‘appActivity‘] = ‘.ContactManager‘

        self.driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘, desired_caps)

    def tearDown(self):
        self.driver.quit()

    def test_add_contacts(self):
        el = self.driver.find_element_by_accessibility_id("Add Contact")
        el.click()

        textfields = self.driver.find_elements_by_class_name("android.widget.EditText")
        textfields[0].send_keys("Appium User")
        textfields[2].send_keys("[email protected]")

        self.assertEqual(‘Appium User‘, textfields[0].text)
        self.assertEqual(‘[email protected]‘, textfields[2].text)

        self.driver.find_element_by_accessibility_id("Save").click()

        # for some reason "save" breaks things
        alert = self.driver.switch_to_alert()

        # no way to handle alerts in Android
        self.driver.find_element_by_android_uiautomator(‘new UiSelector().clickable(true)‘).click()

        self.driver.press_keycode(3)

if __name__ == ‘__main__‘:
    suite = unittest.TestLoader().loadTestsFromTestCase(ContactsAndroidTests)
    unittest.TextTestRunner(verbosity=2).run(suite)
时间: 2024-10-17 16:13:15

Appium 自动化测试(3)-- 脚本开发:官方demo演示 android_contacts.py的相关文章

Appium 003--脚本开发:官方demo演示 android_contacts.py

前提:根据前面的环境搭建介绍,安装好相关环境 step1:启动android模拟器 step2:启动Appium服务端 step3:演示代码执行 这里执行的是官方的演示代码:通讯录管理app,安装打开app,并添加一个联系人保存的操作 a.首先去下载ContactManager.apk放到E盘   E:\ContactManager.apk https://github.com/appium/sample-code/blob/master/sample-code/apps/ContactMana

用力过猛:DragonBorad开发套件demo演示

本次WinHEC大会上,Qualcomm展示了首个支持Windows10系统的DragonBorad开发套件.作为您下一个伟大创新梦想的基石,骁龙 410c开发套件不仅仅集成了丰富的功能,更具备高效节能的特点.由此也为嵌入式设备世界带来了新的契机. 这是笔者在Qualcomm的展台和培训会上看见的几组DragonBorad开发套件的演示demo,别看板子小,功能却很强大,可以开发出许多有创意的玩意. 智能监控 在Qualcomm的展台上,演示了利用DragonBoard 410c开发板配合外接的

微信开发官方Demo(C#版本) 坑死人

本人于2016年7月12号从微信官网下载了 WxPayAPI_CS_v3 ,  C#版本的Demo程序,现在来分享下腾讯是多么的坑爹. 第1个坑: JSAPI Demo.  JsApiPayPage.aspx 页面中 如下代码 //调用微信JS api 支付 function jsApiCall() { WeixinJSBridge.invoke( 'getBrandWCPayRequest', <%=wxJsApiParam%>,//josn串 function (res) { Weixin

Appium自动化测试系列2- 写一个Python测试脚本来测试一下YY语音

我们在<Appium自动化测试系列1-Appium环境的安装和配置>里已经搭好了Appium的基本环境,这一章,我们就来真刀真枪使用一下Appium, 看看Appium是如果来实现自动化测试的.在写测试脚本之前,我们先安装几个必要的Python三方库. 1 安装Python的setuptools库 (因为安装Python的Selenium库需要用到它) 1) 下载setuptools文件并解压 https://pypi.python.org/pypi/setuptools/12.0.4#dow

Appium自动化测试(1)-安装&环境

需要链接appium自动化测试教程 http://www.cnblogs.com/fnng/p/4540731.htmlappium中文文档:https://github.com/appium/appium/tree/master/docs/cn测试用例py在 F:\testSpace web自动化测试的路线是这样的:编程语言基础--->测试框架--->webdriver API--->开发自动化测试项目. 移动自动化的测试的路线要长一些:编程语言基础--->测试框架--->

【原创】NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示

申明:本文由作者基于日常实践整理,希望对初次接触MINA.Netty的人有所启发.如需与作者交流,见文签名,互相学习. 学习交流 更多学习资料:点此进入 推荐 移动端即时通讯交流: 215891622 推荐 前言 NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能.这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2.而Netty的主要版本是Netty3和Netty4(Netty5已经被取消开发了:详见此文). 本文将演示的是一个基于Netty4的UDP服

分享微软官方Demo用的SharePoint 2010, Exchange 2010, Lync 2010虚拟机

微软官方有一套专门用于SharePoint 2010, Exchange 2010 Demo的虚拟机:SharePoint 2010: Information Worker Demonstration and Evaluation Virtual Machine.很多官方的教程和示列都是基于这个Demo的环境来演示的.自从2013发布后,就不再提供它的下载了.为了方便大家学习SharePoint 2010,特将其共享出来. 百度网盘:http://pan.baidu.com/s/1o64Y2T0

记安卓appium自动化测试实践

一.软件安装 1. 安装node.js,安装路径D:\Program Files\nodejs\ 可以在官网下载https://nodejs.org/zh-cn/download/,版本号为node-v8.12.0-x64 2. 用node的npm安装appium npm install -g appium 官网介绍此种安装慢:亲测至少需要15分钟,果断中止. 可以在https://bitbucket.org/appium/appium.app/downloads/ 下载安装包,目前最新包App

Appium自动化测试环境搭建

前言 Appium是一个开源的自动化测试框架,支持跨平台,支持多种编程语言,可用于原生,混合和移动web应用程序,使用webdriver驱动ios,android应用程序.那么为了学习app自动化测试首要任务肯定就是搭建测试开发环境, 因此在这里记一次搭建Appium自动化测试环境的完整过程,文章较长,需要花费一定的时间,请耐心阅读,如果文中有什么错误请指正 安装Java JDK JDK环境可以看我之前安装Jenkins时的随笔https://www.cnblogs.com/linuxchao/