appium环境搭建(视频附)

qq:1360452052可以要资源

1、安装jdk、AndroidSDK-->有包直接配置环境变量(tools、platform-tools)

验证是否成功:java -version、javac -version,adb devices

2、安装node.js

验证是否安装成功node --version

3、安装appium包:一直下一步下一步

4、安装python的appium库:pip install appium

5、把APP安装上,查看包名和元素定位点

6、打开appium执行下面脚本验证环境成功

脚本:

from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time
#appium的必要条件

#连接手机一定要开启开发者选项

#appium启动方式:在命令行中输入appium即可(也可直接打开界面启动)
#python写代码->appium库调用webdriver.Remote方法,
#连接appium服务,appium底层用node.js启动->调用手机高层
#手机需要adt,而adt需要java环境即jdk
#adt中有截图分析元素的软件->下的tools中的uiautomatorviewer.bat或者下的monitor.bat
desired_caps={}

# 参数自行百度,这是必填的五个参数
desired_caps['platformName'] = 'Android'  # 设备系统:设置中查看

desired_caps['platformVersion'] = '8.0.0'  # 设备系统版本:设置中查看desired_caps['deviceName'] = '73EBB18211253040'  #  设备名称:adb devices

desired_caps['appPackage'] = 'cn.teacheredu.tch'#包名 aapt dump badging H:\xxx.apk    :package: name,或者直接用uiautomatorviewer查看

#或者用adb shell "dumpsys activity | grep cn"  ###grep 后跟cn.(包名)或realActivity准确
desired_caps['appActivity'] = 'cn.teacheredu.tch.activity.UploadFileActivity'# 打开的Android活动页laucherActivity值 上搜索以下内容,命令 :launchable-activity

driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
time.sleep(6)

driver.find_element(By.ID,'cn.teacheredu.tch:id/username').send_keys('test')# 定位id
driver.find_element(By.ID,'cn.teacheredu.tch:id/password').send_keys('1231')
time.sleep(1)
driver.find_element(By.ID,'cn.teacheredu.tch:id/login').click()
time.sleep(5)
username=driver.find_element(By.ID,'cn.teacheredu.tch:id/success').text# 成功后获取文本
assert username=='test用户登录成功'# 校验
print(111)
# 运行前启动appium,运行时没有报错就成功
# appium运行完毕后需要重新插拔数据线才能重新定位

 作者:科研小田

https://www.bilibili.com/video/BV1VJ411S7qy

<think>好的,我现在需要帮助用户快速掌握一个自动化测试框架。首先,我要分析用户的需求。用户提到“短时间掌握”,所以关键点在于高效和实用。用户可能是一位刚入门的测试人员,或者是有一定经验但需要快速上手新框架的工程师。他们可能面临项目紧急需要应用自动化测试,或者想要提升自己的技能以适应工作要求。 接下来,我需要确定用户可能不了解的内容。他们可能对自动化测试框架的选择、结构、核心功能以及如何高效学习不太清楚。因此,我的回答需要涵盖框架选择建议、核心组件、学习路径以及实用技巧,同时提供具体的工具和资源推荐。 用户可能没有明确说出他们的具体技术栈,比如使用的是Web应用、移动应用还是API测试。但为了普适性,我应该涵盖常见的框架类型,并提供不同场景的推荐。例如,Web自动化可以用Selenium,API测试用Postman或RestAssured,性能测试用JMeter等。 另外,用户可能需要实战指导,而不仅仅是理论。因此,我需要强调环境搭建、编写测试用例、执行和分析结果这些实际步骤。同时,用户可能在短时间内遇到困难,比如环境配置问题或脚本调试,所以提供常见问题及解决方案会很有帮助。 还要考虑学习资源,用户可能需要快速获取资料,所以推荐官方文档、教程视频和书籍,并给出链接或书名,方便他们查找。此外,强调社区支持,如Stack Overflow和GitHub,能帮助他们解决问题。 最后,要提醒用户避免的误区,比如一开始就追求复杂框架或忽视维护,这些建议能帮助他们少走弯路。总结部分需要简明扼要,强调核心步骤和持续实践的重要性。 总结来说,我需要构建一个结构清晰、步骤明确、包含实用工具和资源,并且有针对性的回答,帮助用户在短时间内有效掌握自动化测试框架。</think>以下是从零快速掌握自动化测试框架的实战指南(具体工具与代码示例): 一、框架选择策略(按优先级排序) 1. **技术栈匹配**: - Web自动化:Selenium + pytest(Python) / Cypress(JavaScript) - 移动端:Appium + TestNG(Java) - API测试:Postman(GUI) / RestAssured(Java) - 性能测试:JMeter / K6 2. **学习曲线评估**: - 推荐新手从`pytest`框架开始,其语法简洁且生态丰富 - 示例安装命令: ```bash pip install pytest selenium ``` 二、核心四步速成法 1. **框架解剖(2小时)**: - 理解标准目录结构: ```plaintext project/ ├─ test_cases/ # 测试用例 ├─ page_objects/ # 页面对象模型 ├─ utilities/ # 工具类 └─ conftest.py # pytest配置文件 ``` - 掌握关键注解: ```python @pytest.mark.parametrize("input,expected", [(1,2), (3,4)]) def test_add(input, expected): assert input + 1 == expected ``` 2. **环境速建(1小时)**: - 使用Docker快速搭建测试环境: ```dockerfile FROM selenium/standalone-chrome COPY . /app CMD ["pytest", "/app/test_cases"] ``` 3. **用例模板(3小时)**: - 编写首个可运行的Web测试用例: ```python from selenium import webdriver def test_login(): driver = webdriver.Chrome() driver.get("https://example.com") driver.find_element("id", "username").send_keys("test") driver.find_element("id", "password").send_keys("pass123") driver.find_element("id", "submit").click() assert "Welcome" in driver.title driver.quit() ``` 4. **调试技巧(2小时)**: - 使用断点调试: ```python import pdb; pdb.set_trace() # 插入调试断点 ``` - 查看HTML报告: ```bash pytest --html=report.html ``` 三、效率提升三板斧 1. **录制工具辅助**: - 使用Selenium IDE录制操作并导出为代码: ```javascript // 导出的示例代码 it('test_login', function() { cy.visit('https://example.com') cy.get('#username').type('test') cy.get('#password').type('pass123') cy.get('#submit').click() }) ``` 2. **参数化测试**: ```python import pytest @pytest.mark.parametrize("user,passwd", [ ("admin", "secret"), ("test", "123456") ]) def test_login_params(user, passwd): # 使用参数执行登录逻辑 print(f"Testing with {user}/{passwd}") ``` 3. **CI/CD集成**: - Jenkins Pipeline示例: ```groovy pipeline { agent any stages { stage('Test') { steps { sh 'pytest tests/ --junitxml=results.xml' } } } } ``` 四、避坑指南 1. **元素定位难题**: - 优先使用CSS选择器而非XPath - 添加显式等待: ```python from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "dynamicElement")) ) ``` 2. **跨浏览器问题**: - 使用Selenium Grid实现多浏览器测试 - 配置示例: ```java DesiredCapabilities caps = new DesiredCapabilities(); caps.setBrowserName("firefox"); WebDriver driver = new RemoteWebDriver(new URL("http://grid-hub:4444"), caps); ``` 五、学习资源推荐 1. **官方文档**: - [Selenium官方文档](https://www.selenium.dev/documentation/) - [pytest使用指南](https://docs.pytest.org/) 2. **实战课程**: - Udemy《Selenium WebDriver with Python》 - Coursera《Automation Testing with Cypress》 3. **开源项目参考**: ```bash # 克隆典型测试框架模板 git clone https://github.com/seleniumbase/SeleniumBase ``` **关键路径总结**:选择匹配技术栈的框架 → 通过模板项目理解架构 → 编写参数化测试用例 → 集成到CI/CD流程 → 掌握调试与优化技巧。按此路径每天投入4小时,1周可达基础实施水平,2周可掌握进阶技巧。建议先用现成框架再深入底层原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值