使用appium做自动化时如何切换activity

在使用appium过程中遇到了执行一个用例时有多个不同的acitivity的情况,以下为app内部切换acitivity的方法:

如果仅需要切换一次activity,可以通过设置desired_caps[‘appWaitActivity‘] = ‘xxxxxx‘来实现。

如果需要多次切换activity,则通过webdriver中的wait_activity()方法来实现。

wait_activity():

 1 def wait_activity(self, activity, timeout, interval=1):
 2         """Wait for an activity: block until target activity presents
 3         or time out.
 4
 5         This is an Android-only method.
 6
 7         :Agrs:
 8          - activity - target activity
 9          - timeout - max wait time, in seconds
10          - interval - sleep interval between retries, in seconds
11         """
12         try:
13             WebDriverWait(self, timeout, interval).until(
14                 lambda d: d.current_activity == activity)
15             return True
16         except TimeoutException:
17             return False
时间: 2024-10-19 04:47:51

使用appium做自动化时如何切换activity的相关文章

appium Ui自动化调起应用点击

appium Ui自动化调起微信并点击登录按钮的java代码(对的,就这么一丢丢). public class testWX { public static void main(String[] args) throws Exception { AndroidDriver driver; //DesiredCapabilities 负责启动服务端时的参数设置. DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapabili

使用Appium做手机自动化录制问题

最近在使用appium做Android手机自动化脚本录制, 发现点击“tap”时,一直没有用,页面还是不能跳转. 咋办?发愁... 于是看到旁边有个“sendkeys”,那是不是能够直接发送参数不就行了吗?!瞬间感觉到自己真是聪明绝顶,哦嘿哟~ 结果,结果,OH NO,才发现输入参数后,使用“sendkeys”还是没有响应.没有响应. 彻底失落了. 换手机,最后用VIVO手机,重新配置环境,一切重头再来. 结果意想不到的是,能够正常运行啦,要飞起来了~ 总结一下:原来使用小米手机,无法利用app

横竖屏切换时,禁止activity重新创建,android:configChanges="keyboardHidden|orientation" 不起作用

这个网上搜索,很多结果都是: AndroidManifest.xml android:configChanges="keyboardHidden|orientation" 但是,实际上很多手机上,这个根本不起作用.这是为什么呢? 因为,但多数人陈陈相因,文章直接转,都没有结果自己实践. 在低版本上,这个是可以起作用.在android 4.0 以上实际上这个是不起作用的. 必须要加上screenSize. android:configChanges="keyboardHidde

Appium运行时没有启动activity的权限:A new session could not be created.(Original error: Permission to start activity denied)

小白搞appium,遇到启动不了activity的问题: 查找解决方案说是跟AndroidManifest.xml有关系,参考:https://github.com/appium/appium/issues/4313 之后打开AndroidManifest.xml,在主activity和intent入口处添加:android:exported="true" 问题马上解决,终于可以启动app了! 希望可以帮到新的同学们.

基于Appium的自动化case开发及case分层结构设计

基于Appium的自动化case开发及case分层结构设计 首先为每条case创建一个公共的基类AppiumTestBase,内含setup和teardown两个方法,以后每条case继承该基类即可.代码如下: public class AppiumTestBase { public WebDriverWait webwait; private AndroidDriver driver; @Before public void setUp() throws Exception { File cl

滑动切换Activity代码

最近需要对练习项目中的代码进行优化,发现很多代码写起来远比想象的困难很多.刚接触Android时间不长,很多东西都不能融会贯通,所以才会有这样的问题存在,当然学习中遇到的问题很有必要做个总结.想想这个需求也是比较简单,就是不想让右图界面上出现点击Button切换Activity,这也许是许多刚接触的朋友都会萌生的念头吧,我也不例外.开始在网上找的方法很多都是讲到ViewPager这样的东西,Demo看了,也模仿了一个出来,但终究发现不能满足自己的需求,使用了ViewPager后,布局都是通过代码

Android窗口管理服务WindowManagerService切换Activity窗口(App Transition)的过程分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8596449 在Android系统中,同一时刻只有一个Activity组件是处于激活状态的,因此,当ActivityManagerService服务激活了一个 新的Activity组件时,它就需要通知WindowManagerService服务将该Activity组件的窗口显示出来,这会涉及到将焦点和屏 幕等资源从前一个激活的Activity组件

Appium做Android功能自动化测试

前言 做Android端功能自动化已有2年多的时间了,使用过的功能自动化框架有Robotium.Uiautomator.Appium.最近研究自动化case复用的方案,调研了Appium的自动化框架,并将其应用到银行一账通的标版中,本文详细介绍基于Appium的Android功能自动化实战经验.主要包括以下几方面内容: Appium框架原理介绍 Appium框架常用API介绍 基于Appium框架的自动化开发环境搭建 自动化case开发及分层结构设计 自动化测试用例书写规范及注意事项 功能自动化

用angularjs做简单的tab切换

用angularjs做简单的tab切换: 页面部分 <div> <div id="tabs" ng-controller="TabsCtrl"> <ul> <li ng-repeat="tab in tabs" ng-class="{active:isActiveTab(tab.url)}" ng-click="onClickTab(tab)">{{tab.t