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 ...
随机推荐
- div,span,p等转换成可编辑
当前它能够将任意不可编辑的标签(span.div.p...等)转换成可编辑的text input.password.textarea.下拉列表(drop-down list)等标签.你可以利用它的ed ...
- 更改SharePoint 2007/2010/2013 Web 应用程序端口号
之前创建的Web应用程序端口为80,因为其他需要要将端口更改为85,下面是具体步骤: 第一步:更改IIS绑定. 打开IIS服务管理器,右击需要更改的站点,选择编辑绑定. 在打开的网站绑定窗口,选择端口 ...
- Mac下的Parallel Windows忘记密码怎么办?
Mac机上安装了Parallel Windows,日久年深不登录结果忘记了登录密码,百爪挠心,想破脑壳试了n个密码都不行,放了一个多月也没想起来. 今天没事网上溜溜,肯定也有和我同病相怜的弟兄,果然, ...
- Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论 创建用户自定义的类加载器 要创建用户自定义的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的f ...
- iOS 开发之路(登陆验证调用WebService)二
swift3.0下使用Alamofire调用Webservice遇到的一些问题以及解决方案. 首先是针对没有证书的https下的接口处理问题(ps:不推荐在正式版本中使用),manager.reque ...
- 【代码笔记】iOS-点击任何处,显示出红色的UIView
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> //头文件 #import "MoreView. ...
- 一个统计报表sql问题
今天朋友问我了一个统计报表的sql问题.我弄了好久.终于算是写出来了.这里记录下. 问题: id--------------name--------------addtime1 ...
- Newtonsoft.Json 通过 JObject 读取 json对像 超简单
/* json 格式的字符串解析 格式化 { "input": { "size": 193156, "type": "image/ ...
- TinyPNG---一个压缩PNG的神站
如何把网页中要用到的图片压缩到最小,这是前端攻城师们在写网页时都会考虑的一个问题,今天小坊给各位带来了给前端攻城师们真正的良心网站---TinyPNG. 只需要简单的两步就可以把你要压缩的PNG格式图 ...
- WPF学习之路(十二)控件(Content控件)
Label Label相比TextBlock功能并不强大,但是支持键盘快捷键的方式获得焦点 <StackPanel> <Label Target="{Binding Ele ...