随笔分类 - web自动化
摘要:session和cookie都是会话跟踪技术。cookie通过在客户端记录信息确定用户身份,而session通过在服务器端记录信息确定用户身份。但session的实现依赖于cookie,sessionID(session的唯一标识)需要存放在客户端。 cookie和session的区别: cooki
阅读全文
摘要:selenium操作中,会通过click()操作,打开新窗口。当需要操作新窗口时,就需要进行窗口切换。 (1)JS执行click操作 # 解决报错(Other element would receive the click) organization = self.driver.find_eleme
阅读全文
摘要:1、如何判断一个页面上元素是否存在? 判断元素存在方法有3种:(存在返回True,不存在返回False) 方法1:用try…except… def is_element_exsist1(driver, locator): """ :param driver: webdriver :param loc
阅读全文
摘要:自动化构造测试数据设计分析流程如下: 1、测试数据构造需求分析:得出数据的组成规则 2、使用Faker类库进行数据构建试验 faker相关资料链接:https://zhuanlan.zhihu.com/p/87203290 3、使用循环构造多组数 4、确定测试数据存储格式 5、进行测试数据保存 Fa
阅读全文
摘要:首先停掉tomcat服务,然后在webapps文件夹里面删掉jenkins文件夹 然后在C:\Users\Administrator里面找到.jenkins文件夹删掉 JENKINS_HOME目录:C:\Users\Administrator\.jenkins 最后如果配置了JENKINS_HOME
阅读全文
摘要:selenium如何保证元素定位的成功率,也就是如何保证点击元素可以稳定点击。 造成元素定位不稳定的原因有多种,可能是: 1、元素加载的速度比较慢 解决方案:设置等待时间 2、目标元素在当前不可见 解决方案:A、拖动滚动条使其可见 B、切换frame或窗口,使其对selenium可见 C、关闭元素隐
阅读全文
摘要:提高selenium脚本的执行速度有以下5种方法: 尽量使用by_css_selector()方法:by_css_selector()方法的执行速度比by_id()方法的更快,因为源码中by_id()方法会被自动转成by_css_selector()方法处理 使用等待时,尽量使用显示等待,少用sle
阅读全文
摘要:WebDriver 支持的浏览器 WebDriver 支持主流的浏览器包括IE,Chrome,Firefox,Safari,Edge等等。 WebDriver浏览器驱动配置 WebDriver对应每个浏览器都有对应的一个Driver,通过以之对应的Driver来驱动浏览器,那我们在启动浏览器前,得先
阅读全文
摘要:页面元素中负责上传文件的控件是:标志性元素<input type="file" ....> selenium做自动化测试时,需要找到真正负责上传文件的控件,并直接向它send_keys(文件路径)
阅读全文
摘要:元素定位css_selector的书写,通过copy css_selector的方式,阅读copy出来的代码,找其中的规律,并学会书写 copy出来的css_selector不是100%管用,有时copy出来的css_selector用到了动态id,这时就需要重写 更多参考:https://www.
阅读全文
摘要:弹出框不是html页面元素,而是javascript控件 处理弹出框需要切换到弹出框,再做相应的操作 注意:弹出框的处理前需要增加智能等待之显示等待,等待弹出框出现立即处理 WebDriverWait(driver, 30, 0.5).until(expected_conditions.alert_
阅读全文
摘要:在form表单中,所有数据一起提交,提交任何一个元素,就提交了整个表单。 可以通过submit方法提交表单中的任何一个元素 driver.find_element_by_id("qq").send_keys("123456") # submit()方法:类似于click,只能用于form表单中 dr
阅读全文
摘要:1、鼠标左键点击 click() 2、键盘输入 send_keys() 3、清空默认值 clear() 4、form表单提交 submit() 5、Select下拉框的三个操作 select_by_value(选项的value属性的值) select_by_index(第几个选项) select_b
阅读全文
摘要:第一种:鼠标悬浮才出现元素 刚开始运行报错:元素怎么都定位不到,检查了代码没发现问题,就去看网页源代码,发现了iframe标签,利用switch_to.frame()方法跳入frame,然后再进行定位 完整代码如下: from selenium.webdriver import ActionChai
阅读全文
摘要:安装bs4后,运行测试报错 from bs4 import BeautifulSoup from selenium import webdriver # 登录界面的url url = 'https://passport.bilibili.com/login' # 实例化一个chrome浏览器 bro
阅读全文
摘要:1.动态id定位不到元素 2.iframe原因定位不到元素 3.不在同一个frame里边查找元素 4.xpath描述错误 5.点击速度过快,页面没有加载出来就需要点击页面上的元素 6.firefox安全性强,不允许跨域调用出现报错
阅读全文
摘要:元素不可交互原因有多种,不同的原因有不同的解决方案。 原因1:点击速度过快,页面没有加载出来就需要点击页面上的元素 设置等待时间即可。 import time time.sleep(2) 原因2:需要定位的元素在页面中被隐藏了 比如:定位百度账号退出按钮,由于退出按钮被隐藏,只有当鼠标移动到用户账号
阅读全文
摘要:8种元素定位方式: xpath和css_selector比较 css_selector执行效率比id还快,因为:源码中by_id()方法会被自动转成css()方法处理 css_selector的使用 1、通过css_selector的方式,可以采用任意的属性来定位元素,只需要在属性的两边加一对中括号
阅读全文
摘要:测试设计模式有3种,分别为: 1、关键字驱动测试模式 代码分层:业务逻辑、测试代码、处理数据 难点:面向对象编程思想 2、数据驱动测试模式 测试数据与测试脚本分离 3、行为驱动测试模式 执行测试时,用自然语言描述的 特点:别人调用不需要写代码,模糊开发、测试的界限 实现数据驱动测试 适用范围:可以用
阅读全文