UI自动化学习过程get的知识点

简介:

一、使用Xpath定位元素:

1、定位的元素是从1开始,而非0开始

例:定位群内成员第一行第一个元素


driver.find_element_by_xpath("//XCUIElementTypeTable/XCUIElementTypeCell[1]/XCUIElementTypeButton[1]")

2、滑动页面距离在x=0,y=185时,对已知元素进行点击不能成功跳转

例:进入到页面,先滑动页面再定位一个元素进行点击操作

代码:

使用swipe

driver.execute_script("mobile: swipe", {"direction": "up"})  // 大概是height=185px,

使用dragFromToForDuration

driver.execute_script("mobile:dragFromToForDuration",{"duration":0.5,"element":None,"fromX":0,"fromY":650,"toX":0,"toY":450})  // height = 200px

driver.find_element_by_xpath("//XCUIElementTypeTable/XCUIElementTypeCell[5]").click()  // 点击该元素后页面未跳转

3、页面上资源太大时,定位元素会失败()

待补充

二、关于WebDriverException错误

1、引入WebDriverException错误

from selenium.common.exceptions import WebDriverException

2、常见的错误:

NoSuchAttributeException   // 元素未找到

NoSuchElementException: Message: An element could not be located on the page using the given search parameters.

WebDriverException // 操作的元素,还未加载进来吧,例如,页面元素加载完,我操作非当前屏幕的元素

WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Invalid parameter not satisfying: point.x != INFINITY && point.y != INFINITY

3、点击一个元素时(该元素被遮挡),命令会执行成功,页面无变化

例:在iPhone6sp上的微信-通讯录-第10条数据就是被遮挡的元素

driver.find_element_by_xpath("//XCUIElementTypeTable/XCUIElementTypeCell[10]").click()   // 执行不会报错

三、其他

1、除法中仅取整数部分,小数第一位大于0就向整数部分进1

使用函数:round()、str()、int()、split()

例子:int(str(round(x / y + 0.4)).split(".")[0])  // x和y中有一个是float类型 

目录
相关文章
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
135 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
8月前
|
Android开发 算法 架构师
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
android的基础ui组件,这些知识点你会吗
|
3月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
99 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
5月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
110 1
|
8月前
|
存储 网络协议 测试技术
【如何学习Python自动化测试】—— Cookie 处理
【如何学习Python自动化测试】—— Cookie 处理
|
8月前
|
测试技术 Python Windows
【如何学习Python自动化测试】—— 多层窗口定位
【如何学习Python自动化测试】—— 多层窗口定位
|
8月前
|
JavaScript 测试技术 Python
【如何学习Python自动化测试】—— 时间等待
【如何学习Python自动化测试】—— 时间等待
|
8月前
|
Web App开发 前端开发 测试技术
【如何学习Python自动化测试】—— 页面元素定位
【如何学习Python自动化测试】—— 页面元素定位
|
8月前
|
前端开发 测试技术 持续交付
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
【4月更文挑战第30天】本文探讨了 Flutter 应用中UI测试和自动化测试的重要性,包括保障质量、提高效率和增强开发信心。Flutter提供`flutter_test`库进行Widget测试,以及`flutter_driver`进行集成测试。UI测试涵盖界面布局、交互和状态变化的验证,最佳实践建议尽早引入测试、保持用例简洁,并结合手动测试。未来,随着Flutter技术发展,UI测试和自动化测试将更加完善,助力开发高质量应用。
249 0
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
|
8月前
|
Web App开发 前端开发 Java
Selenium UI 自动化
Selenium UI 自动化