web自动化
文章平均质量分 74
从基础到实战的web自动化
布凡哦
这个作者很懒,什么都没留下…
展开
-
web自动化之基础内容(全网最详细,selenium环境准备和selenium工具操作)-第一天
web测试工具,运行在浏览器当中,像真正的用户在手工操作一样支持主流的浏览器,其功能包括:1、浏览器的兼容性2、创建回归测试对浏览器提供的原生API进行封装,用这套 API l可以操作浏览器总结:selenium是python的一个库,我们写selenium代码,也是在写python代码python代码不能直接操作浏览器,但可以操作webdriverwebdriver 可以操作浏览器,所以,我们间接的可以用python操作浏览器4.ui自动化操作流程选择界面元素。原创 2023-12-20 10:55:51 · 1067 阅读 · 3 评论 -
web自动化之基础内容二(全网最详细,selenium获取断言信息,显示等待和隐式等待,xpath高级语法)-第二天
/div[@class="m-container-max"] 匹配 class 属性为 "m-container-max" 的div标签。注意:声明隐式等待后,只有声明之后的元素定位才有隐式等待,声明之前的元素定位是没有隐式等待的。假设,在第 x(x原创 2023-12-25 10:00:00 · 927 阅读 · 0 评论 -
web自动化之基础内容三(全网最详细,控制浏览器大小,控制浏览器前进后退刷新操作,webdriver的常用方法以及css高级语法)-第三天
1、css是配合HTML工作的,css的实现原理是匹配对象;xpath是配合xml工作的,xpath的实现原理是遍历。思考:如果使用相邻兄弟选择器,定位的是老二,那么他找的是老大还是老三呢?我们定位元素对象之后要去操作元素,比如点击(按钮、链接)、输入。选择器有id选择器,class选择器,标签选择器等待;css的规则由两部分构成:选择器,以及一条或多条声明。打开两个浏览器,get没有打开浏览器的功能,他。3、前端开发主要用的是css,不使用xpath。(3)id,class,标签,分组,属性选择器。原创 2023-12-26 09:45:00 · 952 阅读 · 0 评论 -
web自动化之基础内容四(全网最详细,窗口截图,警告框处理,鼠标和键盘事件,iframe切换,多标签页,滚动页面)-第四天
ifa = driver.find_element_by_css_selector("iframe:nth-child(3)") 代码为啥是3。js方法写的对话框,是无法定位的(即右键的时候,是没有“检查”选项的)(简单:可以用test2.html界面实操,把黑色的框拖到绿色的框)test2.html可在资源中自行下载,如有疑问,可在评论区留言。用处:在断言后,发现实际结果与预期结果不一致,可用窗口截图。元素, 将ele1元素 拖到 ele2元素。举例:访问百度界面(本人的百度是已登录的)原创 2023-12-28 09:45:00 · 408 阅读 · 0 评论 -
web自动化之基础内容五(全网最详细,下拉框选择,文件上传,cookie操作与实战)-第五天
获取登录后的cookie信息,绕过登录的用户名和密码,直接登录(现在的网站,99%应该都规避了这个问题)(2)对于非 input 标签实现的上传功能,我们可以通过模拟键盘敲击的方式去实现。注意:这里用的url为127.0.0.1:8088的界面,是自己本地开启的一个项目。(1)对于通过 input 实现的文件上传,我们可以将其看作是一个输入框。cookie 里边要存哪些内容也不是固定的,完全按照开发者的心意去实现。cookieSli里的内容是从上一段代码中的结果复制粘贴过来的。input 文件上传的实现。原创 2023-12-29 09:45:00 · 430 阅读 · 0 评论 -
web自动化之基础内容六(全网最详细,po模式)-第六天
po模式,简单来说,就是page object(页面对象)我们做ui自动化的时候,会遇到很多的页面为了维护方面,我们可以将每一个页面封装成一个classpo模式,其实没有任何新的知识点融入,只不过是将面向对象的思想融入进来了基本代码示例(简单的po模式)即为了避免“”,代码改为如下模式:更改的思路可参考上面的链接。原创 2023-12-29 10:00:00 · 396 阅读 · 0 评论 -
web自动化之基础内容七(全网最详细,po模式结合pytest框架)-第七天
po模式是selenium 自动化当中最佳的设计模式之一,主要体现在对界面元素的封装,也就是只关注业务流程的实现,而不关注数据的计算将页面定位与业务操作分离,流程图如下BasePage是依赖driver工具类的页面1,页面2,页面3等都要继承BasePage类。原创 2024-01-02 10:15:00 · 425 阅读 · 0 评论 -
web自动化之常见的异常(第八天)
3、NoAlertPresentException:没有找到alert弹窗,观察页面,查看是否有弹窗出现,或加上等待(即遇到弹窗,不要想到不想就当做alert弹窗处理,自己鼠标右键【检查】看一下是不是html标签,如果是,就不能用alert处理弹窗,如果是alert弹窗的话,鼠标右键是不会有【检查】的)2、StaleElementException: 陈旧的元素引用异常,页面刷新了,或页面跳转之后,使用了之前定位的元素,重新定位元素并操作。原创 2024-01-03 10:15:00 · 1124 阅读 · 0 评论 -
web自动化之巩固练习(第九天)
4.地区选择杭州(点击地区按钮,把默认的城市取消掉,选择杭州,点击确定按钮)5.打印搜索的信息(每个职位的信息和公司的信息和城市信息,工资)一.对于这个网址 https://www.51job.com。3.选择工作职能--互联网技术-高级软件工程师。2.输入搜索关键词-python。原创 2024-01-10 10:30:00 · 891 阅读 · 1 评论 -
web自动化之常见面试题
我们可以回答:我们当初期望是做到百分百覆盖,但是后期由于需求的不断变更,以及成本上的考虑,只做到了百分之七十多。大概在百分之三十(如果项目前端很稳定,就是百分之三十,不然就是百分之十,也可以说:我没计算过,我们只是将冒烟用例ui自动化处理了)用了多久:初步实现,我们两个人,用了一个多星期的时间,后期维护,基本一直在维护,维护用了多少时间我就没计算过了。对于一些需要好几个步骤才能到达的页面,若中间步骤不是必须的,与当前用例关联不大,则省略这些步骤,直接访问网址。或用鼠标事件点击代替 click。原创 2024-01-05 09:45:00 · 884 阅读 · 0 评论 -
web自动化异常,selenium.common.exceptions.StaleElementReferenceException(陈旧的元素引用异常)
解决后的代码(将元素定位封装在一个函数中,并return该元素,想用该元素时,直接调用该函数即可;这样的话元素赋值与操作元素之间就不会产生界面刷新了)获取元素赋值给变量,再通过变量操作元素,两个步骤之间,若产生了界面刷新。也就是说,若在获取元素赋值给变量,与通过变量操作元素之间发生了页面刷新。注意:有问题的代码和修复后的代码可在资源绑定中自行下载,如有问题可在评论区留言。则在界面刷新后,元素操作前,重新获取元素赋值给变量。则会在通过变量操作元素的时候,抛出此异常。每次操作元素前,实时获取元素赋值给变量。原创 2023-12-28 15:00:00 · 875 阅读 · 0 评论