使用Appium操作YY语音例子

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

import os
import unittest
from appium import webdriver
import time

# 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 YY(unittest.TestCase):
    def setUp(self):
        desired_caps = {
            ‘platformName‘: ‘Android‘,
            ‘deviceName‘: ‘611AKBPP22HR5‘,  # adb devices查到的设备名
            ‘platformVersion‘: ‘4.4.2‘,
            ‘appPackage‘: ‘com.duowan.mobile‘,  # 被测App的包名
            ‘appActivity‘: ‘com.yy.mobile.ui.splash.SplashActivity‘,# 启动时的Activity
            # ‘app‘:PATH(‘E:\yymobile_client-7.7.1.apk‘)
        }
        self.driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘,desired_caps)

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

    def test_index_module(self):
        self.driver.wait_activity(‘com.yy.mobile.ui.home.MainActivity‘,30)
        el = self.driver.find_element_by_name("小视频")
        self.assertIsNotNone(el)
        el.click()
        time.sleep(3)
        yueBang = self.driver.find_element_by_name("一起玩")
        self.assertIsNotNone(yueBang)
        yueBang.click()

if __name__ == ‘__main__‘:
    # suite = unittest.TestLoader().loadTestsFromTestCase(YY)
    # unittest.TextTestRunner(verbosity=2).run(suite)
    unittest.main()

查看包名与启动activity:推荐使用aapt工具,aapt是sdk自带的一个工具,在sdk\build-tools目录下

D:\Android\sdk\build-tools>aapt dump badging F:\ChromeDownloads\yymobile_client-7.7.1.apk
package: name=‘com.duowan.mobile‘ versionCode=‘60513‘ versionName=‘7.7.1‘ platformBuildVersionName=‘6.0-2704002‘
sdkVersion:‘14‘
targetSdkVersion:‘22‘
uses-permission: name=‘android.permission.ACCESS_WIFI_STATE‘
......
launchable-activity: name=‘com.yy.mobile.ui.splash.SplashActivity‘  label=‘‘ icon=‘‘
......

查看当前activity:打开到对应的窗口后,执行命令  adb shell dumpsys window w |findstr \/ |findstr name=

D:\Android\sdk\build-tools>adb shell dumpsys window w |findstr \/ |findstr name=
      mSurface=Surface(name=com.duowan.mobile/com.yy.mobile.ui.home.MainActivity)

等待activity:driver.wait_activity,30s后超时

self.driver.wait_activity(‘com.yy.mobile.ui.home.MainActivity‘,30)

根据name定位元素

el = self.driver.find_element_by_name("小视频")

原文地址:https://www.cnblogs.com/guanfuchang/p/9118470.html

时间: 2024-10-30 11:24:16

使用Appium操作YY语音例子的相关文章

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

YY语音从4.0版本开始是基于Qt的开发过程,以及碰到的问题

作者:姚冬链接:http://www.zhihu.com/question/21359230/answer/20127715来源:知乎著作权归作者所有,转载请联系作者获得授权. YY语音从4.0版本开始是基于Qt framework开发的,而我正是这个项目的技术负责人. 决定是否采用某framework之前,首先要确定是不是有发布上的问题,毕竟YY语音作为一个服务于数千万用户的客户端软件,面临的用户软硬件环境是比较复杂的,而且一旦遇到无法安装或者安装后不能运行之类的兼容性问题会导致大量的用户流失

js操作创建和操作外部样式的例子

兼容IE8及以上的IE浏览器1. [代码][HTML]代码 <!DOCTYPE html><html lang="en">    <head>        <meta charset="utf-8">        <title></title>    </head>    <body>        <div id="test"><

多玩YY语音的面试题:C++中如何在main()函数之前执行操作?

第一反应main()函数是所有函数执行的开始.但是问题是main()函数执行之前如何执行呢? 联想到MFC里面的 C**App类的theApp对象,其执行顺序就在main函数之前.道理相通,顺理推下,能够想到:如果在main函数之前声明一个类的全局的对象.那么其执行顺序,根据全局对象的生存期和作用域,肯定先于main函数. 示例如下: class simpleClass { public: simpleClass( ) { cout << "simpleClass construct

c# BackGroundWorker 多线程操作的小例子

在我们的程序中,经常会有一些耗时较长的运算,为了保证用户体验,不引起界面不响应,我们一般会采用多线程操作,让耗时操作在后台完成,完成后再进行处理或给出提示,在运行中,也会时时去刷新界面上的进度条等显示元,必要进,还要控制后台线程中断当前操作. 以前,类似的应用会比较麻烦,需要写的代码较多,也很容易出现异常.在 .net中,提供了一个组件 backgroundworker就是专门解决这个问题的. 使用这个组件其实非常简单,例如,我们做一个类似如下界面的进度条的小例子,在后台线程中进行耗时运算,同时

(转)关于PV操作理解的例子

P就是请求资源,V就是释放资源. 问题1 一个司机与售票员的例子 在公共汽车上,为保证乘客的安全,司机和售票员应协调工作: 停车后才能开门,关车门后才能行车.用PV操作来实现他们之间的协调. S1:是否允许司机启动汽车的变量 S2:是否允许售票员开门的变量 driver()//司机进程 { while (1)//不停地循环 { P(S1);//请求启动汽车 启动汽车; 正常行车: 到站停车: V(S2); //释放开门变量,相当于通知售票员可以开门 } } busman()//售票员进程 { w

C# ms speech文字转语音例子

最近突发奇想 想玩玩  文字转语音的东东   谷歌了一下 发现微软有一个TTS 的SDK   查了查相关资料  发现 还真不错  然后就开始玩玩Microsoft Speech SDK的 DEMO了 现在网上最新版好像是Microsoft Speech SDK Version 5.1    先下载下来 下载地址是  http://www.52z.com/soft/22068.html 要先安装第一个SDK 然后安装语言包    只有安装了语言包   语言包是用来支持中文翻读的 然后开始我们的C#

JavaScript之属性操作及小例子

一.属性操作示例代码 代码详解: 首先要知道,html找标签是通过选择器,JavaScript寻找标签是通过,例: document.getElementById('box');可这么理解:在文档下寻找通过id标签获取元素 所以,下面两行代码可理解为:声明变量=后面接收通过box标签获得span区域元素,通过ul标签获得ul区域元素 var box=document.getElementById('box'); var ul=document.getElementById('ul');接下来就可

YY语音01

1.YYSetup-8.2.0.1-zh-CN.exe (http://waiwai.duowan.com/)(http://www.yy.com/download) C:\Program Files (x86)\duowan\yy 2. 3. 4. 5.