Appium Studio 初体验(windows做ios自动化,录制appium脚本)

简介: Appium Studio 初体验(windows做ios自动化,录制appium脚本)

 偶然的机会遇到了这个工具——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测试环境。


安装后,


image.png


大体界面就是这样的,


我们链接设备,点击按钮


image.png


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


image.png


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

当我们选择后,


image.png


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


image.png


都是可以很好的切换。那么怎么录制我们的脚本呢,启动app,


选择


image.png


录制,

 

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


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


下面生成对应的脚本,


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


录制脚本如下python版本


import unittest
import time
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
class 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 <set your test 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<AndroidElement> 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上面有日志输出,


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


image.png


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


image.png


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


image.png


image.png

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

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


image.png


下面详细的记录日志

image.png


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



相关文章
|
1月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
97 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
6月前
|
C++ Python Windows
在Visual Studio中使用Python(Windows)
在Visual Studio中使用Python(Windows)
|
2月前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
79 0
|
4月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
185 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
3月前
|
敏捷开发 Java 测试技术
探索自动化测试的奥秘:从Selenium到Appium
【9月更文挑战第14天】软件测试,这个看似枯燥乏味却至关重要的领域,正经历着一场革命。随着技术的进步,自动化测试工具如Selenium和Appium已成为质量保证的利器。本文将带你一探这些工具的神秘面纱,了解它们如何简化测试流程、提升效率,并确保软件产品的质量。准备好,我们将深入自动化测试的世界,解锁其背后的原理和实践技巧。
|
4月前
|
测试技术 开发工具 iOS开发
iOS自动化测试方案(三):WDA+iOS自动化测试解决方案
这篇文章是iOS自动化测试方案的第三部分,介绍了在没有MacOS系统条件下,如何使用WDA(WebDriverAgent)结合Python客户端库facebook-wda和tidevice工具,在Windows系统上实现iOS应用的自动化测试,包括环境准备、问题解决和扩展应用的详细步骤。
372 1
iOS自动化测试方案(三):WDA+iOS自动化测试解决方案
|
4月前
|
测试技术 数据安全/隐私保护 iOS开发
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
iOS自动化测试方案的第四部分,涵盖了基础环境准备、iPhone虚拟机设置、MacOS虚拟机与iPhone真机的连接,以及扩展问题和代码示例,确保读者能够顺利完成环境搭建并进行iOS自动化测试。
411 0
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
|
4月前
|
测试技术 虚拟化 iOS开发
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
这篇文章是iOS自动化测试方案的第二部分,详细介绍了在Xcode开发者工具中构建WebDriverAgent(WDA)应用到iPhone的全过程,包括环境准备、解决构建过程中可能遇到的错误,以及最终成功安装WDA到设备的方法。
235 0
iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone
|
4月前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
220 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程