博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Appium Studio 初体验(windows做ios自动化,录制appium脚本)
阅读量:4316 次
发布时间:2019-06-06

本文共 6576 字,大约阅读时间需要 21 分钟。

 

  偶然的机会遇到了这个工具——Appium Studio, 在官网是这么解释的

  

Get your Appium testing projects going within minutes

Install Appium Studio with a single click along with all the required development tools. Use the intuitive GUI to easily develop new tests or execute existing Appium testing projects on any local or remote devices.

让Appium测试项目在几分钟内完成

只需单击一下即可安装Appium Studio以及所有必需的开发工具。 使用直观的GUI轻松开发新测试或在任何本地或远程设备上执行现有的Appium测试项目。

是一个可以录制脚本,可以运行测试用例,它可以在windows电脑上,链接ios设备做ios的测试这里为这个工具点个赞,我们测试ios应用不在用ios设备也能进行测试了。

 

:https://experitest.com/mobile-test-automation/appium-studio/

其他需要配置的appium测试环境。

安装后,

 

大体界面就是这样的,

我们链接设备,点击按钮,增加你的设备,我链接了一台安卓模拟器,一台iphone6,(注意,adb环境可能识别不了设备,去appium studo 安装目录下复制adb.exe 去替换模拟器下面的adb,修改为对应的包就可以)

 

那么

我们选择安装我们的应用,到指定设备上,也可以关闭启动应用, 可以选择配置,

当我们选择后,

会给我们生成对应的脚本,我们可以切换不同的脚本

都是可以很好的切换。

那么怎么录制我们的脚本呢,启动app,

选择

 

 

录制,

 

然后我们去模拟器去操作就可以

这样就给我们操作完,点击关闭,自动吧录制的步骤给我们添加上去,

下面生成对应的脚本,

我们点击保存按钮进行保存

录制脚本如下python版本

import unittestimport timefrom appium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditionsclass sssss(unittest.TestCase):    reportDirectory = 'reports'    reportFormat = 'xml'    dc = {}    testName = 'sssss'    driver = None        def setUp(self):        self.dc['reportDirectory'] = self.reportDirectory        self.dc['reportFormat'] = self.reportFormat        self.dc['testName'] = self.testName        self.dc['udid'] = '127.0.0.1:62001'        self.dc['app'] = 'C:\\Users\\Administrator\\AppData\\Roaming\\appiumstudio\\apk\\com.aixuetan.onlinecom.aixuetang.mobile.activities.LaunchActivity.2.apk'        self.dc['appPackage'] = 'com.aixuetan.online'        self.dc['appActivity'] = 'com.aixuetang.mobile.activities.LaunchActivity'        self.dc['instrumentApp'] = 'true'        self.dc['platformName'] = 'android'        self.driver = webdriver.Remote('http://localhost:4723/wd/hub',self.dc)    def testsssss(self):               self.driver.find_element_by_xpath("xpath=//*[@id='course_image' and (./preceding-sibling::* | ./following-sibling::*)[@text='高一语文通用版(全年班)']]").click()        self.driver.find_element_by_xpath("xpath=//*[@text='已报名76423人']").click()        self.driver.find_element_by_xpath("xpath=//*[@id='ll_enroll']").click()        self.driver.find_element_by_xpath("xpath=//*[@text='03-进行更深层次的阅读(一)——赏析评价能力的提升(上)']").click()        self.driver.find_element_by_xpath("xpath=//*[@text='高一语文通用版(全年班)']").click()        self.driver.find_element_by_xpath("xpath=//*[@id='course_image']").click()        self.driver.find_element_by_xpath("xpath=//*[@id='course_image']").click()        self.driver.find_element_by_xpath("xpath=//*[@id='course_image']").click()        self.driver.find_element_by_xpath("xpath=//*[@text='已报名76423人']").click()        self.driver.find_element_by_xpath("xpath=//*[@text='加入课程']").click()        self.driver.find_element_by_xpath("xpath=//*[@id='et_password']").click()        self.driver.find_element_by_xpath("xpath=//*[@id='et_username']").send_keys('1111111')        self.driver.find_element_by_xpath("xpath=//*[@id='et_password']").send_keys('11111')        self.driver.find_element_by_xpath("xpath=//*[@id='tv_login']").click()    def tearDown(self):        self.driver.quit()            if __name__ == '__main__':        unittest.main()

java版本如下

//package 
;import io.appium.java_client.remote.AndroidMobileCapabilityType;import io.appium.java_client.android.AndroidDriver;import io.appium.java_client.android.AndroidElement;import io.appium.java_client.TouchAction;import java.time.Duration;import io.appium.java_client.remote.MobileCapabilityType;import io.appium.java_client.android.AndroidKeyCode;import org.openqa.selenium.remote.DesiredCapabilities;import org.openqa.selenium.By;import org.testng.annotations.*;import java.net.URL;import java.net.MalformedURLException;import java.util.logging.Level;public class sssss { private String reportDirectory = "reports"; private String reportFormat = "xml"; private String testName = "sssss"; protected AndroidDriver
driver = null; DesiredCapabilities dc = new DesiredCapabilities(); @BeforeMethod public void setUp() throws MalformedURLException { dc.setCapability("reportDirectory", reportDirectory); dc.setCapability("reportFormat", reportFormat); dc.setCapability("testName", testName); dc.setCapability(MobileCapabilityType.UDID, "127.0.0.1:62001"); dc.setCapability(MobileCapabilityType.APP, "C:\\Users\\Administrator\\AppData\\Roaming\\appiumstudio\\apk\\com.aixuetan.onlinecom.aixuetang.mobile.activities.LaunchActivity.2.apk"); dc.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.aixuetan.online"); dc.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "com.aixuetang.mobile.activities.LaunchActivity"); dc.setCapability("instrumentApp", true); driver = new AndroidDriver<>(new URL("http://localhost:4723/wd/hub"), dc); driver.setLogLevel(Level.INFO); } @Test public void testsssss() {
driver.findElement(By.xpath("//*[@id='course_image' and (./preceding-sibling::* | ./following-sibling::*)[@text='高一语文通用版(全年班)']]")).click(); driver.findElement(By.xpath("//*[@text='已报名76423人']")).click(); driver.findElement(By.xpath("//*[@id='ll_enroll']")).click(); driver.findElement(By.xpath("//*[@text='03-进行更深层次的阅读(一)——赏析评价能力的提升(上)']")).click(); driver.findElement(By.xpath("//*[@text='高一语文通用版(全年班)']")).click(); driver.findElement(By.xpath("//*[@id='course_image']")).click(); driver.findElement(By.xpath("//*[@id='course_image']")).click(); driver.findElement(By.xpath("//*[@id='course_image']")).click(); driver.findElement(By.xpath("//*[@text='已报名76423人']")).click(); driver.findElement(By.xpath("//*[@text='加入课程']")).click(); driver.findElement(By.xpath("//*[@id='et_password']")).click(); driver.findElement(By.xpath("//*[@id='et_username']")).sendKeys("1111111"); driver.findElement(By.xpath("//*[@id='et_password']")).sendKeys("11111"); driver.findElement(By.xpath("//*[@id='tv_login']")).click(); } @AfterMethod public void tearDown() { driver.quit(); }}

 

然后当你没有选中测试用例步骤,他会给你注释掉,点击run按钮,启动测试,

我们可以看到log上面有日志输出,

运行到步骤会选中步骤,运行完,自动生成测试报告

一些重要的信息也会展示出来

还可以看到步骤的dubeg信息,每个步骤都会有截图

 

 

 

 

 

 

 可以选择最近的查看测试报告,

选择all summaries  reposrt  统计了所有运行的,直观,

 

 下面详细的记录日志。

 可以录制,可以运行现有脚本,每个步骤 都有截图,还可以生成批量的测试报告,有没有很简单,关键它可以在windows执行ios测试,

推荐大家去尝鲜。

 

转载于:https://www.cnblogs.com/leiziv5/p/10237761.html

你可能感兴趣的文章
二分图匹配
查看>>
c++ 模板template
查看>>
CString的成员函数详解
查看>>
Appium Studio 初体验(windows做ios自动化,录制appium脚本)
查看>>
Linux常用命令
查看>>
整体二分&cdq分治 ZOJ 2112 Dynamic Rankings
查看>>
【POJ2976】Dropping tests (01分数规划入门题)
查看>>
通过正则表达式获取url中参数
查看>>
cxx signal信号捕获
查看>>
《Android开发艺术探索》读书笔记——Cha3.2.3改变布局参数实现View的滑动
查看>>
python闭包与装饰器
查看>>
Acegi 源码解释
查看>>
Activity的几种启动跳转方式
查看>>
LCA最近公共祖先Tarjan(离线)
查看>>
牛客练习赛16 E求值
查看>>
matlab rank
查看>>
Asp.net系列--基础篇(三)
查看>>
css基础
查看>>
如何在tomcat中如何部署java EE项目
查看>>
【Python基础教程第2版】——第二讲:列表和元组
查看>>