#coding:utf-8
#Import the common package
import os
import unittest
from appium import webdriver
from time import sleep #设置路径信息
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p)
) class LoginAndroidTests(unittest.TestCase):
def setUp(self):
#初始化测试平台
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4.2'
desired_caps['deviceName'] = '127.0.0.1:62001'
#desired_caps['app'] = 'D:\apk\xx.apk'
desired_caps['appPackage'] = 'com.lovebizhi.wallpaper'
desired_caps['appActivity'] = 'com.lovebizhi.wallpaper.WelcomeActivity'
self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) def tearDown(self): self.driver.quit() def test_1(self):
#测试导航页
print("start test1...") #判断是否安装爱壁纸APP
wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")
if wallpaper:
#self.driver.remove_app("com.lovebizhi.wallpaper")
sleep(8)
# 点击某一壁纸图片
self.driver.find_elements_by_id("com.lovebizhi.wallpaper:id/image1")[4].click()
sleep(4)
# 点击设置壁纸
self.driver.find_element_by_id("com.lovebizhi.wallpaper:id/btSetup").click()
sleep(5)
else:
self.driver.install_app("D:\apk\xx.apk")
sleep(30) def test_2(self):
#测试导航页
print("start test2") #判断是否安装爱壁纸APP
wallpaper = self.driver.is_app_installed("com.lovebizhi.wallpaper")
#是
if wallpaper:
sleep(8)
# 点击某一壁纸图片
self.driver.find_elements_by_id("com.lovebizhi.wallpaper:id/image1")[5].click()
sleep(4)
# 点击设置壁纸
self.driver.find_element_by_id("com.lovebizhi.wallpaper:id/btSetup").click()
sleep(5)
#否,安装
else:
self.driver.install_app("D:\apk\xx.apk")
sleep(30) if __name__ == '__main__':
suite =unittest.TestLoader().loadTestsFromTestCase(LoginAndroidTests)
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. 将bbr功能合入到centos7.3

    今天将bbr的算法合入到了centos7.3的内核,基线内核版本是3.10.0-514.el7.x86_64, 内核编译测试通过.感谢隆春和文洋的帮助,隆春是将bbr合入到了cgslv5版本. 这种反 ...

  2. 花了一年时间开发出来的EZNest 自动套料软件

    随着国内钢结构制造业的迅猛发展,市场竞争也愈演愈烈.近来钢材价格的大幅攀升,节约用材已成为企制胜的戈键,提高钢材的利用车自然就成了目前许多企业十分关心的一件事.对十大型钢结构生产制造商来说,如留在传统 ...

  3. year:2017 month:7 day:27

    2017-07-27 JAVA 1:java分为三类:javase(桌面开发应用) javaee(企业级开发应用) javame(手机嵌入式开发应用) 2:jdk(java开发工具包),jre(jav ...

  4. java连接数据库

    package com.shsxt.jdbcs; import java.sql.Connection; import java.sql.DriverManager; import java.sql. ...

  5. Dubbo负载均衡策略

    在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用. 可以自行扩展负载均衡策略,参见:负载均衡扩展Random LoadBalance 随机,按权重设置随机概率. 在一个截面上 ...

  6. ubuntu下统计目录及其子目录文件个数

    查看某目录下文件的个数 ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某目录下文件的个数,包括子目录里的. l ...

  7. java中List Array相互转换

    List to Array List 提供了toArray的接口,所以可以直接调用,转为object型数组 List<String> list = new ArrayList<Str ...

  8. Java设计模式学习笔记,二:工厂模式

    工厂模式,主要实现了创建者和调用者的分离. 分类:1.简单工厂模式:2.工厂方法模式:3.抽象工厂模式. 核心:实例化对象时,用工厂方法代替new操作. 一.简单工厂模式 也叫静态工厂模式,工厂类中实 ...

  9. Swift学习之方法定义参数有默认值的时候

    func testParms(first fir:String, options opt:JSONSerialization.ReadingOptions = []) -> Bool { ret ...

  10. Oracle impdp通过network_link不落地方式导入数据

    --Oracle impdp通过network_link不落地方式导入数据 -----------------------------------------------------2014/01/1 ...