appium的第一个实例
# !/usr/bin/env python
# -*- coding:utf-8 -*- from appium import webdriver
import time
import unittest
import HTMLTestRunner
import sys
reload(sys)
sys.setdefaultencoding("utf-8") class Preview(unittest.TestCase): def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android' # 设备系统
desired_caps['platformVersion'] = '5.1' # 设备系统版本
desired_caps['deviceName'] = '6HHIN7RCFARCKFRO' # 设备名称
desired_caps['appPackage'] = 'cn.j.hers' # 测试app包名
desired_caps['appActivity'] = 'cn.j.guang.ui.activity.StartActivity' # 测试appActivity
self.dr = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 启动app def tearDown(self):
self.dr.quit() def test_four_submit(self):
"""验证:兴趣选择页面四个按钮无法提交"""
time.sleep(10)
if len(self.dr.find_elements_by_id("cn.j.hers:id/dialog_title")) != 0:
# 若出现通知栏则点击取消
self.dr.find_element_by_id("cn.j.hers:id/dialog_cancel").click()
time.sleep(2)
self.dr.find_elements_by_id("cn.j.hers:id/tag_options_12_btn")[2].click()
self.dr.find_elements_by_id("cn.j.hers:id/tag_options_11_btn")[1].click()
self.dr.find_elements_by_id("cn.j.hers:id/tag_options_22_btn")[4].click()
time.sleep(2)
# 断言提交按钮不可点击,若是可点击直接用例失败
self.assertTrue(self.dr.find_element_by_id("cn.j.hers:id/tag_optoins_bottom_txt").is_enabled()) def test_five_submit(self):
"""验证:兴趣选择页面按钮的取消以及选择&提交5个兴趣选择"""
time.sleep(10)
if len(self.dr.find_elements_by_id("cn.j.hers:id/dialog_title")) != 0:
# 若出现通知栏则点击取消
self.dr.find_element_by_id("cn.j.hers:id/dialog_cancel").click()
time.sleep(2)
self.dr.find_elements_by_id("cn.j.hers:id/tag_options_12_btn")[2].click()
self.dr.find_elements_by_id("cn.j.hers:id/tag_options_23_btn")[1].click()
self.dr.find_elements_by_id("cn.j.hers:id/tag_options_11_btn")[1].click()
self.dr.find_elements_by_id("cn.j.hers:id/tag_options_22_btn")[4].click()
self.dr.find_elements_by_id("cn.j.hers:id/tag_options_11_btn")[0].click()
self.dr.find_elements_by_id("cn.j.hers:id/tag_options_23_btn")[0].click()
# 选择额外的5个按钮,并且取消默认选项
time.sleep(2)
self.dr.find_element_by_id("cn.j.hers:id/tag_optoins_bottom_layout").click()
# 点击提交按钮,进入首页
time.sleep(5)
self.assertTrue(self.dr.find_element_by_id("cn.j.hers:id/common_left_buy_layout_button").is_displayed()) if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(Preview('test_four_submit'))
suite.addTest(Preview('test_five_submit'))
now = time.strftime('%Y-%m-%d %H_%M_%S') # 指定时间格式
path = 'D:/case/HersReport/' + now + "preview.html"
fp = open(path, 'wb')
# 定义报告存放的路径
runner = HTMLTestRunner.HTMLTestRunner(
stream=fp,
title=u'她社区兴趣选择页面自动化测试报告',
description=u'用例执行简述')
# 定义测试报告展示样式
runner.run(suite)
# 执行测试用例
fp.close()
# 必须关闭文件,否则报告为空
后附执行完的测试报告:
appium的第一个实例的更多相关文章
- 【C# -- OpenCV】Emgu CV 第一个实例
原文 [C# -- OpenCV]Emgu CV 第一个实例 Emgu CV下载地址 http://sourceforge.net/projects/emgucv/files/ 找最新的下就行了,傻瓜 ...
- Thrift教程初级篇——thrift安装环境变量配置第一个实例
前言: 因为项目需要跨语言,c++客户端,web服务端,远程调用等需求,所以用到了RPC框架Thrift,刚开始有点虚,第一次接触RPC框架,后来没想到Thrift开发方便上手快,而且性能和稳定性也不 ...
- Konckout第一个实例:简单数据模型绑定
Konck是什么: http://www.aizhengli.com/knockoutjs/50/knockout.html 使用:直接引入knockout.js文件 第一个实例:实现输入框输入值改变 ...
- Vue.js学习和第一个实例
第一个实例效果图: 1.node.js下载,然后安装.下载地址:链接:http://pan.baidu.com/s/1o7TONhS 密码:fosa 2.下载Vue.js.链接:http://pan. ...
- Highmaps网页图表教程之Highmaps第一个实例与图表构成
Highmaps网页图表教程之Highmaps第一个实例与图表构成 Highmaps第一个实例 下面我们来实现本教程的第一个Highmaps实例. [实例1-1:hellomap]下面来制作一个中国地 ...
- JAVA-MyEclipse第一个实例
相关资料: <21天学通Java Web开发> 实例代码: MyEclipse第一个实例1.打开MyEclipse程序.2.在PacKage视图->右击->New|Web Pr ...
- C# 实现程序只启动一次(多次运行激活第一个实例,使其获得焦点,并在最前端显示)
防止程序运行多个实例的方法有多种,如:通过使用互斥量和进程名等.而我想要实现的是:在程序运行多个实例时激活的是第一个实例,使其获得焦点,并在前端显示. 主要用到两个API 函数: ShowWindow ...
- 小白的springboot之路(一)、环境搭建、第一个实例
小白的springboot之路(一).环境搭建.第一个实例 0- 前言 Spring boot + spring cloud + vue 的微服务架构技术栈,那简直是爽得不要不要的,怎么爽法,自行度娘 ...
- 学习WCF入门的第一个实例
一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...
随机推荐
- C# Zip压缩、解压
/* *引用 NuGet包 ICSharpCode.SharpZipLib.dll */ public class ZipUtility { /// <summary> /// 所有文件缓 ...
- 冒泡排序Bubble_Sort
基本原理:对于冒泡排序来说,基本思想是从第一个元素开始,数组中的数据依次和它后面相邻的数据进行比较,即1和2比较,2和3比较,a和a+1比较,直到倒数第二位和倒数第一位的比较,如果顺序不对就进行交换, ...
- 修改 SQL SERVER 2008 編輯前200筆 資料表問題? 转载自:http://www.dotblogs.com.tw/easy1201/archive/2008/12/04/6179.aspx
小弟前幾天 下載安裝了 SQL SERVER 2008 感覺系統效能還不錯 但是要編輯 資料表卻出現 很苦惱 但經過一番波折 終於了解如何改善 先執行SQL Server Management Stu ...
- 关于STM32的I2C硬件DMA实现
关于STM32的I2C硬件DMA实现 网上看到很多说STM32的I2C很难用,但我觉得还是理解上的问题,STM32的I2C确实很复杂,但只要基础牢靠,并没有想象中的那么困难. 那么就先从基础说起,只说 ...
- BZOJ 3630: [JLOI2014]镜面通道 (网络流 +计算几何)
水能流过的地方光都能达到 呵呵.jpg 那就是裸的最小割(割开上边界和下边界)了- 判矩形和圆相交的时候就用圆心对矩形求一次点到矩形的最近距离(类似KD树的预估函数). CODE #include & ...
- 在 CentOS 7 上安装 RabbitMQ
RabbitMQ 服务器在安装之前需要安装 erlang. 最新版本的 RabbitMQ 3.8.0 需要 Erlang 21.3 以上的版本支持. 在这里,我们需要在你的 CentOS 中安装 Er ...
- [Luogu] 选择客栈
https://www.luogu.org/problemnew/show/P1311 思路就是,从1到n枚举,输入color和price的值,我们需要记录一个距离第二个客栈最近的咖啡厅价钱合理的客栈 ...
- java 面试心得总结-BAT、网易
http://blog.csdn.net/sinat_26812289/article/details/50898693
- ie11 div不显示背景颜色解决方案
我的一个场景就是,一个空的div,但是想加个背景颜色,方案就是在div加个空content,利用before属性加上背景<div class="hilan"></ ...
- 【平台中间件】为什么用etcd而不用ZooKeeper?从应用场景到实现原理的全方位解读
前言 博主在工作过程中经常接触到ETCD,搜索相关资料的时候发现排名最高的是一篇图片全是404的转载文章,后来看到了原文,感觉有义务让更多的人看到这样的精品文章,所以进行了转载. 原文发布在infoQ ...