appium简写脚本

前期做了那么多理论, 现在该开始干活进行实践.

个人比较喜欢python, 而选择appium是因为它可以在Android和IOS平台上使用.

以下是个人练习写得一个脚本, 分享出来, 可以让更多初学者可以借鉴学习.

python 

#coding:utf-8
import os
import HTMLTestRunner
import unittest
import time

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
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 StartPage(unittest.TestCase):

    def test_(self):    
        desired_caps = {}
        # 7N2TDM154V061596  192.168.107.101
        desired_caps['deviceName']      = '7N2TDM154V061596'                            #adb devices查到的设备名
        desired_caps['platformName']    = 'Android'
        desired_caps['platformVersion'] = '4.4.2'                                       #Adroid 系统版本
        desired_caps['appPackage']      = 'cn.kuwo.player'                              #被测App的包名
        desired_caps['appActivity']     = 'cn.kuwo.player.activities.EntryActivity'     #启动时的Activity
        desired_caps['unicodeKeyboard'] = 'True'                                        
        desired_caps['resetKeyboard']   = 'True'                                        

        driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
        # monkey 性能测试 
        #adb shell monkey -p cn.kuwo.player -s 500 -v 10000
        time.sleep(20)

        # cn.kuwo.player:id/tab_menu_img            点击 菜单
        Menu = driver.find_element_by_id("cn.kuwo.player:id/tab_menu_img")  
        Menu.click()
        time.sleep(2)

        # 点击 登录
        Regist = driver.find_element_by_id("cn.kuwo.player:id/login_regist_tv")
        Regist.click()
        time.sleep(2)

        # 点击 账户登录
        #TextView = driver.find_element_by_id("cn.kuwo.player:id/login_kw_layout")
        #TextView.click()
        #time.sleep(2)

        # 点击 账号,输入账号
        Name = driver.find_element_by_id("cn.kuwo.player:id/login_et_username").send_keys("unama")
        # 点击删除按钮
        #Clear = driver.find_element_by_id("cn.kuwo.player:id/tv_clear_account")
        #Clear.click()

        # 点击 密码,输入密码
        Pass = driver.find_element_by_id("cn.kuwo.player:id/login_et_password").clear()
        Pass = driver.find_element_by_id("cn.kuwo.player:id/login_et_password").send_keys("passwd")

        # 点击 登录按钮,开始登录
        #Pass = driver.find_element_by_id("cn.kuwo.player:id/login_qq_layout")
        Login = driver.find_element_by_id("cn.kuwo.player:id/login__layout")
        Login.click()
        time.sleep(15)

        # 点击 乐库
        #yueku = driver.find_element_by_id("cn.kuwo.player:id/tab_item_title")
        #yueku.click()
        #time.sleep(2)

        # 点击 图片
        Picture = driver.find_element_by_id("cn.kuwo.player:id/square_middle_img")
        Picture.click()
        time.sleep(2)

        # 点击 乐单
        Taylor = driver.find_element_by_id("cn.kuwo.player:id/square_middle_img")
        Taylor.click()
        time.sleep(22)

        # 点击 返回键
        Back = driver.find_element_by_id("cn.kuwo.player:id/btn_back")
        Back.click()
        #driver.send_keys(Keys.BACK)

        tuijian = driver.find_element_by_name(u"推荐")
        self.assertIsNotNone(tuijian)
        tuijian.click()


        # 点击 菜单
        Menu = driver.find_element_by_id("cn.kuwo.player:id/tab_menu_img")  
        Menu.click()
        time.sleep(2)

        # 点击 退出
        Quit = driver.find_element_by_id("cn.kuwo.player:id/exit_layout")  
        Quit.click()
        time.sleep(2)

    if __name__ == '__main__':
        testunit=unittest.TestSuite()           #定义一个单元测试容器
        testunit.addTest(StartPage("test_"))    #将测试用例加入到测试容器中    
        filename="./MyAppiumLog.html"           #定义个报告存放路径,支持相对路径。
        fp=file(filename,'wb')

        #使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述
        runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='KuwoMusicAPK',description='Report_description')  
        runner.run(testunit)                    #自动进行测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值