
web自动化-selenium
文章平均质量分 54
记录学习selenium自动化过程笔记
MM602388
这个作者很懒,什么都没留下…
展开
-
selenium原理及使用场景(登录场景)
1.为什么需要做UI自动化UI是最接近用户的,直面用户体验2.什么时候需要进行UI自动化涉及用户体验相关的主要业务逻辑 业务模块版本趋于稳定3.原理使用Selenium实现自动化测试,主要需要3个东西1.自动化测试代码:自动化测试代码发送请求给浏览器的驱动; 其二便是浏览器的驱动:每个浏览器都有自己的驱动,比如谷歌的chromedriver.exe、火狐的geckodriver.exe、IE的IEDriverServer.exe,它来解析这些自动化测试的代码,解析后把它们发送给浏览原创 2021-11-04 17:15:01 · 950 阅读 · 0 评论 -
selenium-PO模式
PO模式:全称pageObject模式,使测试代码具有理想的可维护性参考:PO设计模式 | Selenium优点:测试代码与页面的定位代码(如定位器或者其他的映射)相分离. 该页面提供的方法或元素在一个独立的类中, 而不是将这些方法或元素分散在整个测试中....原创 2021-11-02 23:49:39 · 1384 阅读 · 0 评论 -
selenium-文件上传和弹框处理
一.文件上传input标签可以直接用send_keys(文件地址)上传文件用法:先定位元素 send_keys('文件路径+文件名')from time import sleepfrom selenium_frame_window.base import Baseclass TestFile(Base): def test_file_upload(self): self.driver.get("https://image.baidu.com/")原创 2021-11-02 23:33:01 · 1372 阅读 · 1 评论 -
selenium-执行javascript脚本
使用selenium直接在当前页面中进行js交互1.常用的几种操作使用js实现selenium执行js,那么js能做的,selenium大部分也能做 直接使用js操作页面,能解决很多click()不生效的问题 页面滚动到底部、顶部 处理富文本、时间控件的输入,获得页面性能数据JSON.stringify(performance.timing)2.selenium中如何调用jsexecute_script:执行js return:可以返回js的返回结果 execute_script:a原创 2021-11-02 23:08:22 · 585 阅读 · 0 评论 -
selenium-多浏览器处理
通过传 不同参数 来测试不同的浏览器,做浏览器兼容性测试import osfrom selenium import webdriverclass Base: def setup(self): def setup(self): browser = os.getenv("browser") if browser == 'firefox': self.driver = webdriver.Fir原创 2021-11-02 22:13:10 · 151 阅读 · 0 评论 -
selenium-多窗口处理和网页frame
一、多窗口处理1.如何识别多窗口点击某些链接,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口 获取窗口的唯一标识用句柄windowhandle表示,通过切换句柄实现窗口切换2.步骤先获取当前窗口的句柄driver.current_window_handle 再获取所有窗口句柄windows=driver.window_handles 遍历所有句柄,判断是否是要操作的窗口,如果是直接操作;如果不是切换到对应窗口(driver.switch_to.window(原创 2021-11-02 22:06:16 · 1754 阅读 · 0 评论 -
selenium-form表单操作
1.什么是表单表单时一个包含表单元素的区域表单元素时允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等)输入信息的元素表单使用表单标签(<form>)定义。例如:<form><input/></form>2.操作表单元素步骤:首先定位到表单元素,然后操作元素(如清空,输入,点击等)from selenium import webdriverfrom time import sleepclass TestCeshiren原创 2021-11-02 21:15:13 · 2591 阅读 · 0 评论 -
selenium-web控件交互进阶Actions
一.ActionsActionChains:执行PC端鼠标的点击,双击,右键,拖拽等事件TouchActions:模拟PC端和移动端(h5页面)的点击,滑动,拖拽,多点触控等多种手势二.动作链接ActionChains参考:7.2 行为链 - selenium-python中文文档 (python-selenium-zh.readthedocs.io)1.原理:调用ActionChains的方法时,不会立即执行,而是将所有的操作,按顺序放在一个队列中,当你调用perform()方法时原创 2021-11-02 20:56:38 · 1187 阅读 · 0 评论 -
selenium-元素定位
1.selenium点击和输入def test_baidu(self): self.driver.find_element(By.ID, "kw").send_keys("格沃兹测试学院") self.driver.find_element(By.ID, "su").click()2.xpath定位参考:XPath 语法 (w3school.com.cn)xpath的知识:XML Path Language,用于解析html和xml优点:app...原创 2021-11-02 19:29:26 · 165 阅读 · 0 评论 -
selenium-三种等待方式
三种等待方式不能确定元素被加载到浏览器的时间,这使得定位元素变得困难1)强制等待or直接等待(sleep)优点:简单明了,需要等待的时候直接time.sleep() 缺点:不智能,设置的时间太短,元素还没有加载出来,那照样会报错;设置的时间太长,case多了,代码量大了,很多个几秒就会影响整体的运行速度了;所以尽量少用这个2)隐式等待(implicitly_wait()):隐式等待让 Webdriver 等待一定的时间后再才是查找某元素优点:相比sleep() ,隐性更加智能,它会在你设原创 2021-11-02 17:26:14 · 633 阅读 · 0 评论 -
selenium安装
1.selenium安装1)准备好python环境2)准备selenium环境pycharm中安装:在pycharm界面, file-》setting——》project——》project interpreter ->点击+号 ->搜索selenium,点击安装3)下载浏览器对应的driver版本chromedriver:ChromeDriver Mirror (taobao.org)4)driver配置环境变量5)在python中import对应的依赖...原创 2021-11-01 16:02:18 · 136 阅读 · 0 评论