![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
selenium
AKoalas
记录自己写过的东西,只为给自己留个笔记
展开
-
PO(page object)设计模式
分层设计模式将页面和用例,数据分离开将页面层单独封装,用例封装,数据封装如果将来页面元素发生变化,只需要修改页面层,如果测试用例发生变化,只需要修改用例层,如果数据发生变化,只需要修改数据层POM的优势1.POM提供了一种在UI层操作、业务流程与验证分离的模式,这使得测试代码变得更加清晰和高可读性2.对象库与用例分离,使得我们更好的复用对象,甚至能与不同的工具进行深度结合应用3.可复用的页面方法结合代码会变得更加优化4.更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素。例如我原创 2021-08-19 19:26:49 · 148 阅读 · 0 评论 -
selenium八种元素定位方式
1、id2、name3、class name4、link_text5、partial_link_text6、xpath7、css selector8、tag name原创 2021-08-19 18:01:39 · 81 阅读 · 0 评论 -
selenium三种等待时间
为什么需要使用等待网络造成元素加载慢客户端性能造成元素加载比较慢1. 强制等待time.sleep(x)无论何种情况,元素是否加载,均需要等待到设定的时间,通常用于调试或者演示,通常真正执行脚本时候不要加强制等待,会严重影响脚本执行效率2. 隐式等待# 隐式等待driver.implicitly_wait(15)全局,对driver所在页面是有效,设定一个最长等待时间,如果元素加载完成就继续执行,如果有元素没有加载那就等待到设定的时间,相对智能3. 显示等待locator_se原创 2021-08-18 21:29:03 · 721 阅读 · 0 评论 -
selenium鼠标悬停
引入鼠标事件包from selenium.webdriver.common.action_chains import ActionChains悬停某事件xt = driver.find_element_by_xpath('/html/body/div[1]/div[2]/div/div/ul/li[4]/a')将driver传递给actionchanins,加上动作释放perfromActionChains(driver).move_to_element(xt).perform()time.原创 2021-08-18 15:13:02 · 2618 阅读 · 1 评论 -
selenium多页面切换
获取当前页面的句柄值jb3 = driver.window_handles获取所有页面的句柄值jb_all2 = driver.window_handles遍历所有的句柄值和已知的句柄值对比,不相同就切换for jb in jb_all2: if cb != jb1 and jb != jb2 and jb != jb3: driver.switch_to_window(jb)time.sleep(2)...原创 2021-08-18 15:07:46 · 336 阅读 · 0 评论 -
Message: Service chromedriver unexpectedly exited. Status code was: xxx(或者webdriver驱动浏览器无法正常启动)
使用selenium+webdriver报错解决办法:去这 传送门 下载合适自己google浏览器的版本下载比如我的版本是92.0.4515.131因为没有跟google版本号同样的,所以就选择临近的win版的只有32位的,并没有64位的,所以就选他了点击下载下来压缩包放入安装python的目录重新在pycharm跑代码接下来,look look 效果行了,ojbk,解决再附上简单的代码吧# 引包from selenium import webdriver#原创 2021-08-16 12:01:46 · 4205 阅读 · 0 评论 -
selenium写禅道UI测试自动化脚本(selenium真强大啊,离吃公家饭又近了一步~)
再次学到的新知识,做个笔记首先,先了解一哈selenium官网传送门Selenium 是支持 web 浏览器自动化的一系列工具和库的综合项目。它提供了扩展来模拟用户与浏览器的交互,用于扩展浏览器分配的分发服务器, 以及用于实现 W3C WebDriver 规范 的基础结构, 该 规范 允许您为所有主要 Web 浏览器编写可互换的代码。这个项目是由志愿者贡献者实现的,他们投入了自己数千小时的时间, 并使源代码免费提供给任何人使用、享受和改进。Selenium 汇集了浏览器供应原创 2021-08-16 21:34:30 · 1440 阅读 · 0 评论 -
selenium定位鼠标悬停
定位鼠标要悬停到的元素ele_setting = driver.find_element_by_id('s-usersetting-top')将driver传递给actionchains,加上动作释放performActionChains(driver).move_to_element(ele_setting).perform()定位并点击搜索设置连接driver.find_element_by_link_text('搜索设置').click()time.sleep(2).原创 2021-08-17 16:51:07 · 378 阅读 · 0 评论