UI自动化(十)selenium定位】的更多相关文章

一.UI自动化相关 1. UI自动化的本质(重点) 定位元素→操作元素→模拟页面操作→断言→测试报告 2. 适合UI自动化的场景 UI自动化的前提条件 (1)需求不能频繁变动 (2)UI稳定(UI自动化就是基于UI层面的,UI界面总变化无法开展) (3)项目周期长(UI自动化脚本编写和调试耗时,项目周期短纯手工更高效) (4)回归测试频繁(回归测试多就会有不断的主流程功能需要回归,自动化更高效) 适用场景 (1)冒烟测试 (2)主功能回归测试 3. UI自动化的原则 (1)一个case完成一个功…
前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorviewer.appium inspector. uiautomatorviewer 是Android sdk 自带的定位工具,元素层级展示清晰,但是定位不到内嵌H5页元素.appium inspector是appium上自带的定位功能,元素层级展示不够清晰,查看元素不够方便,但是可以定位到内嵌H5页元素…
做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示) 一.最通用的几种定位方式: 1.通过id定位 driver.find_element_by_id('su') 2.通过name定位 driver.find_element_by_name('mp') 3.通过class属性 driver.find_element_by_class_name('s_ipt') 4.通过文本链接 driver.f…
xpath 的定位方法,非常强大.使用这种方法几乎可以定位到页面上的任意元素. 1. 什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素. 2. xpath的缺点 xpath 这种定位方式,webdriver会将整个页面的所有元素进行扫描以定位我们所需要的元素,这是个非常费时的操作,如果脚本中大量使用xpath做元素定位的话,脚本的执行速度可能会稍慢: 3. 绝对路径定位 <!DOCTYPE…
1. 将浏览器最大化 这里拿chrome举例,但是我在执行的时候一直报错,被坑了好久; 解决办法: 这是因为chromedriver是和chrome一一对应的,不兼容的版本就会报错: 所有chrome-driver都可以在这里下载:http://chromedriver.storage.googleapis.com/index.html 这里网盘链接中附带chrome57和对应的chrome-driver安装包,自取:http://pan.baidu.com/s/1c17EITq from se…
1. 多窗口切换 有时候需要在多窗口切换,webdriver提供了switch_to_window()方法支持切换窗口: from selenium import webdriver import os,time driver = webdriver.Chrome() frist_url = "http://www.baidu.com" driver.get(frist_url) #获取百度登录窗口句柄 login_windows = driver.current_window_han…
1. clear() clear()方法用于清除文本输入框内的内容:一般输入框中都有默认文字,如果不清空有可能会导致字符拼接: browser.find_element(By.ID,"userId").clear() 2. send_keys(*value) send_keys()方法模拟键盘输入向输入框内输入内容. browser.find_element(By.ID,"userId").send_keys("测试") 3. click() c…
很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍然无法定位)方法:根据实际目录,逐层输写.例子: find_element_by_xpath("/html/body/div[1]/span/input/a")  # div[1]指第1个元素二.相对路径(推荐使用) 方法:找到元素有”精准元素“即唯一能标识的属性: # 1.通过id定位(…
1.如果目标元素有id属性,优先使用id定位: 2.元素locator尽可能保证简洁,考虑locator中路径的变化频率,尽量减少后期更新和维护成本: 3.使用xpath时,不要一味的使用‘/’逐层进行选择:合理使用‘/’和‘//’,能简化表达式: 4.尽量使用函数和运算符,如contains(),text(),position()等:运算符包括算数运算符或逻辑运算符等: 以下举例xpath常用语法: 1) xpath=//img[@alt='The image alt text'] 2) xp…
1.话不多说,直接贴入代码 上面的 document.getElementById 可以替换成别的定位方式,比如: 通过name获取:document.getElementsByName 通过标签获取:document.getElementsByTagName 通过class获取:document.getElementsByClassName 通过css获取:document.querySelector.document.querySelectorAll 2.稍微封装一下…