1. #coding:utf-8
  2. #Import the common package
  3. import os
  4. import unittest
  5. from appium import webdriver
  6. from time import sleep
  7.  
  8. #设置路径信息
  9. PATH = lambda p: os.path.abspath(
  10. os.path.join(os.path.dirname(__file__), p)
  11. )
  12.  
  13. class LoginAndroidTests(unittest.TestCase):
  14. def setUp(self):
  15. #初始化测试平台
  16. desired_caps = {}
  17. desired_caps['platformName'] = 'Android'
  18. desired_caps['platformVersion'] = '4.4.2'
  19. desired_caps['deviceName'] = '127.0.0.1:62001'
  20. #desired_caps['app'] = 'D:\apk\xx.apk'
  21. desired_caps['appPackage'] = 'com.lovebizhi.wallpaper'
  22. desired_caps['appActivity'] = 'com.lovebizhi.wallpaper.WelcomeActivity'
  23. self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
  24.  
  25. def tearDown(self):
  26.  
  27. self.driver.quit()
  28.  
  29. def test_1(self):
  30. #测试导航页
  31. print("start test1...")
  32.  
  33. #判断是否安装爱壁纸APP
  34. wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")
  35. if wallpaper:
  36. #self.driver.remove_app("com.lovebizhi.wallpaper")
  37. sleep(8)
  38. # 点击某一壁纸图片
  39. self.driver.find_elements_by_id("com.lovebizhi.wallpaper:id/image1")[4].click()
  40. sleep(4)
  41. # 点击设置壁纸
  42. self.driver.find_element_by_id("com.lovebizhi.wallpaper:id/btSetup").click()
  43. sleep(5)
  44. else:
  45. self.driver.install_app("D:\apk\xx.apk")
  46. sleep(30)
  47.  
  48. def test_2(self):
  49. #测试导航页
  50. print("start test2")
  51.  
  52. #判断是否安装爱壁纸APP
  53. wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")
  54. #是
  55. if wallpaper:
  56. sleep(8)
  57. # 点击某一壁纸图片
  58. self.driver.find_elements_by_id("com.lovebizhi.wallpaper:id/image1")[5].click()
  59. sleep(4)
  60. # 点击设置壁纸
  61. self.driver.find_element_by_id("com.lovebizhi.wallpaper:id/btSetup").click()
  62. sleep(5)
  63. #否,安装
  64. else:
  65. self.driver.install_app("D:\apk\xx.apk")
  66. sleep(30)
  67.  
  68. if __name__ == '__main__':
  69. suite =unittest.TestLoader().loadTestsFromTestCase(LoginAndroidTests)
  70. unittest.TextTestRunner(verbosity=2).run(suite)

appium 判断app是否安装的更多相关文章

  1. IOS中如何判断APP是否安装后首次运行或升级后首次运行

    对于是否为首次安装的App可以使用如下方法来判断 [[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"] ...

  2. 在web浏览器中判断app是否安装并直接打开

    最近公司App产品在运营推广上有一个需求,就是要求可以让用户在访问我们的推广网页时,就可以判断出这个用户手机上是否安装了我们的App,如果安装了则可以直接在网页上打开,否则就引导用户前往下载.从而形成 ...

  3. 判断app是否安装

    Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.setData(Uri.fromPar ...

  4. Android 判断app是否安装

    1. private boolean isAppInstalled(Context context, String uri) { PackageManager pm = context.getPack ...

  5. 在手机浏览器中判断App是否已安装

    从网上搜到之前手机中判断App是否安装可以通过onblur事件+定时器来实现. 但现在要做这个功能时,按网上的说法已经不能实现了.因为现在浏览器中打开App,window不会触发onblur事件. 在 ...

  6. HTML中判断手机是否安装某APP,跳转或下载该应用

    有些时候在做前端输出的时候,需要和app的做些对接工作.就是在手机浏览器中下载某app时,能判断该用户是否安装了该应用.如果安装了该应用,就直接打开该应用:如果没有安装该应用,就下载该应用.那么下面就 ...

  7. Python appium搭建app自动化测试环境

    appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...

  8. c#: 判断Firefox是否安装

    1.源起: KV项目需要给浏览器安装下载插件,就需要判断是否安装对应浏览器,发现判断卸载目录方法,32位程序在.net 2.0运行环境下,常规方法不能访问64位注册表位置,导致不能判断. 2.卸载键值 ...

  9. appium启动APP配置参数:

    一.Android启动app   python启动脚本如下:   from appium import webdriver   desired_caps = {} desired_caps['plat ...

随机推荐

  1. 【linux相识相知】磁盘分区及文件系统管理详解

    磁盘,提供持久的数据存储,它不像我们的内存,如果突然断电了,在内存中的数据一般都会被丢掉了,内存中的数据在保存的时候,会被写到硬盘里面,磁盘也是一种I/O设备. 我们都知道磁盘分区完成之后,还要进行格 ...

  2. Spring源码情操陶冶-AbstractApplicationContext#finishBeanFactoryInitialization

    承接前文Spring源码情操陶冶-AbstractApplicationContext#registerListeners 约定web.xml配置的contextClass为默认值XmlWebAppl ...

  3. bootstrap-table 怎么自定义搜索按钮实现点击按钮进行查询

    bootstrap-table自带搜索框感觉有点丑,我们可以把搜索功能单独拉出来放到页面的某一个位置. 首先我们看一下官方演示: 如果你感觉集成的检索框不太好看,而且我们也不想让搜索框和列表放到一块去 ...

  4. 任务调度---crontab

    1.   crontab相当于windows下的任务与计划,可以设定定时任务,周期执行的任务 2.   设置任务调度文件 crontab  -e       进入任务界面,添加如下命令 0 2 * * ...

  5. session的用法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. [补档]暑假集训D7总结

    刷题 上午刷了一上午的网络流 (md建图快建吐了),然后就搞了一个网络流的索引= = (实在看不下去那篇大长文了啊喂),然后发现都是水题= =,我还瞎××乱刷 下午--听说我要刷平衡树? Blog 日 ...

  7. InnoDB 索引原理

    InnoDB索引原理 索引能够提高访问的速率 B+树索引(最为常用和最为有效).全文索引.哈希索引. 数据库中的B+树索引可以分为聚集索引和辅助索引,但是不管是聚集还是辅助的索引,其内部都是B+树,是 ...

  8. 4.写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能: 1)输出字符串的长度。 2)输出字符串中第一个出现字母a的位置。 3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。 4)将字符串“hello”替换为“me”,输出新字符串。 5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。 */

    namespace test4 {/* 4.写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能: 1)输出字符串的长度. 2)输出字符串中第一个出现字母a的位置. 3)在字符串的第3个字符 ...

  9. NYOJ--32--SEARCH--组合数

    按照思路写:深搜,r控制位数,位数为0输出否则递归 /* Name: NYOJ--32--搜索--组合数 Date: 14/04/17 16:48 Description: 深度优先搜索 */ #in ...

  10. python细碎语法点

    在系统入门python有的是没有遇到,有的是学过了缺乏使用没有记住,就开篇随笔记录这些基础的语法点,随时更新. with...as... 也就是说with是一个控制流语句,跟if/for/while/ ...