Appium学习实践(二)Python简单脚本以及元素的属性设置
1.简单的Python脚本
Appium中的设置与Appium学习实践(一)简易运行Appium中的一致
Launch后,执行脚本
#coding:utf-8
import unittest
import os
from selenium import webdriver
from time import sleep class Dttest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Remote(
command_executor='http://127.0.0.1:4723/wd/hub',
desired_capabilities={
'platformName': 'iOS',
'deviceName':'iPhone 5s'
}) def tearDown(self):
self.driver.quit() def test_test(self):
sleep(10)
由于Appium中的iOS Settings中BundleID还有设备的UDID都已经填写好,所以脚本中就没有重复填写
需要注意的是:这里的command_executor要和Appium中的Server Address一致,不然怎么可能连得上。、
Ps:deviceName也是必填的,但是发现name填错了也没有任何事情发生
tearDown中是用例执行结束后执行的操作
test_test是具体的测试用例,先用一个sleep代替下,后面改成具体的操作加断言
2.元素的属性设置
个人觉得基于UI的自动化,首先最重要的是要找到你想找的元素,然后你才能对元素进行操作并对结果进行断言
以app中的分数为例,如果没有设置ID的话,只能通过xpath进行定位

设置了元素的name属性后可以通过find_element_by_name("scoreLab")进行定位,这样找错元素的几率也会变小很多
所以这个name属性在哪里设置呢。、
这里就要麻烦我们的开发了
在storyboard中的Accessibility中加上Identifier属性

Label对应的是元素的value值
以前遇到的坑:
@interface UIViewController (WarninigBar) - (void)showTopWarning:(NSString *)warningText; @end @interface UILabel (MyAccessibility)
@property(nonatomic, copy) NSString *accessibilityValue;
@end @implementation UILabel (MyAccessibility) @dynamic accessibilityValue; -(NSString *)accessibilityValue {
// Here we force UIKit to return Label value, not the accessibility label
return self.text;
} @end
http://stackoverflow.com/questions/7688311/cant-get-value-of-uiastatictext
Appium学习实践(二)Python简单脚本以及元素的属性设置的更多相关文章
- Appium学习实践(三)测试用例脚本以及测试报告输出
之前Appium学习实践(二)Python简单脚本以及元素的属性设置中的脚本,会有一个问题,就是在每个测试用例完成之后都会执行tearDown,然后重新setUp,这样导致脚本的执行效率偏低,而且会有 ...
- Appium学习实践(四)结构优化
随着我们测试脚本中的用例越来越多,我们不可能将所有的用例都放在同一个脚本中,所以我们需要优化我们的结构.将脚本放在一个文件夹中,再通过别的脚本来执行脚本.这样,我们也可以有选择性的执行我们的脚本 先来 ...
- Python简单计算数组元素平均值的方法示例
Python简单计算数组元素平均值的方法示例 本文实例讲述了Python简单计算数组元素平均值的方法.分享给大家供大家参考,具体如下: Python 环境:Python 2.7.12 x64 IDE ...
- 《从零开始学习jQuery》:用jQuery操作元素的属性与样式
元素属性和Dom属性简介 对于下面这样一个标签元素: <img id='img' src="1.jpg" alt='1' class="imgs"> ...
- Python学习之二:Python 与 C 区别
引自http://www.lxway.com/181844.htm 从开始看Python到现在也有半个多月了,前后看了Python核心编程和Dive into Python两本书.话说半个月看两本,是 ...
- python学习笔记(二):python数据类型
上一篇博客写了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法.一.数据类型是什么鬼?计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各 ...
- <数据结构基础学习>(二)简单的时间复杂度分析
一.简单的复杂度分析 O(1) O(n) O(logn) O(logn) O(n^2) 大O描述的是算法的运行事件和输入数据之间的关系 Eg: 数组求和 public static int sum(i ...
- Appium学习实践(五)遇到的坑(记录自己工作中遇到的坑以及解决方案,不定时更新)
1.错误截图,有时候测试用例执行错误的话,相对于复杂的log,一张错误截图也许能更明确哪里出的问题(当然有时,截图+log还是最好了) 坑:本来是想测试用例fail的时候捕获异常来执行截图操作,但是由 ...
- Appium学习实践(一)简易运行Appium
环境: Appium 1.4.13 OS X 10.10.5 真机已安装app,或者未安装,通过ipa文件来安装,并启动Appium Inspector 点击Appium中的放大镜后,自动运行App ...
随机推荐
- MetricGraphics.js – 时间序列数据的可视化
MetricsGraphics.js 是建立在D3的基础上,被用于可视化和布局的时间序列数据进行了优化.它提供以产生一个原则性的,一致的和响应式的方式的图形常见类型的简单方法.该库目前支持折线图,散点 ...
- 10个最好的 JavaScript 动画库和开发框架
虽然 CSS3 动画功能能够让我们以简单轻松的方式实现动画效果,但是浏览器兼容性问题让人头疼.不过不用担心,我们还有另外的武器——JavaScript,它同样可以帮助你实现各种各样的动画效果,而且借助 ...
- 给你推荐10款优秀的 HTML5 动画工具
HTML5 在过去三年快速增长,已经成为 Web 开发人员最喜欢的编程语言之一.强大的编程语言拥有开发更好的网页应用的能力. HTML5 中引入的新技术都非常好,像 Chrome.Firefox.Sa ...
- css对齐
2016-10-25 <css入门经典>第15章 1.text-align属性: 块属性内部的文本对齐方式.该属性只对块盒子有意义,内联盒子的内容没有对齐方式.(注意:只是盒子内部的内容对 ...
- go git 安装配置与使用 (windows 7 64bit)
go语言安装使用第三方库方式一般采用 go get github.com/.../... 命令.例如: go get github.com/astaxie/beego 1.错误情况一: packag ...
- Egret白鹭H5小游戏开发入门(一)
前言: 好久没更新博客了,以前很多都不会,所以常常写博客总结,倒是现在有点点经验了就懒了.在过去的几个月里,在canvas游戏框架方面,撸过了CreateJS,玩得了Egret,又学过PIXI.js. ...
- HTML5拖拽实例
最近应该会用到,借用一下......小妹儿,你又变懒了 拖拽相关属性 draggable属性是html5的全局属性,是html5支持拖放操作的方式之一,用来表示元素是否可以被拖放,draggable有 ...
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q92-Q94)
Question 92 You are designing a SharePoint 2010 application. You need to make sure the application ...
- 【VLC-Android】vlc-android简例
前言 继续折腾vlc,做这个例子并不顺利,卡在只有声音没有图像这个问题好久,网上的例子有些API已经对不上,继续分享,,, 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cn ...
- 截取UIImage指定大小区域
截取UIImage指定大小区域 最近遇到这样的需求:从服务器获取到一张照片,只需要显示他的左半部分,或者中间部分等等.也就是截取UIImage指定大小区域. UIImage扩展 我的解决方案是对UII ...