Python自动化测试利器selenium怎么使用!(1),阿里P8大佬亲自教你

  • 需求变动频繁的项目,自动化脚本不能重复使用,维护成本太大,性价比低
  • 项目周期短,自动化脚本编制完成后使用次数不多,性价比低
  • 交互型较强的项目,需要人工干预的项目,自动化无法实施
1.4 自动化测试流程
  • 分析:总体把握系统逻辑,分析出系统的核心体系架构。
  • 设计:设计测试用例,测试用例要足够明确和清晰,覆盖面广而精
  • 实现:实现脚本,有两个要求一是断言,二是合理的运用参数化。
  • 执行:执行脚本远远没有我们想象中那么简单。脚本执行过程中的异常需要我们仔细的去分析原因。
  • 总结:测试结果的分析,和测试过程的总结是自动化测试的关键。
  • 维护:自动化测试脚本的维护是一个难以解决但又必须要解决的问题。
  • 分析:在自动化测试过程中深刻的分析自动化用例的覆盖风险和脚本维护的成本。
2 selenium

Selenium是web应用中基于UI的自动化测试框架,支持多平台、多浏览器、多语言。

早期的selenium RC已经被现在的webDriver所替代,可以简单的理解为selenium1.0 +webdriver构成,现在的Selenium2.0。通常情况下,我们使用“Selenium”一词指的是Selenium2.0。Selenium包括Selenium IDE、Webdriver和Selenium Grid三个组件。

分别做一下介绍:

Selenium IDE

Selenium IDE一个用于Selenium测试的完成集成开发环境,可以直接录制在浏览器的用户操作,并且能回放,编辑和调试测试脚本。在调试过程中,你可以逐步执行或调整执行速度,并可以在底部查看日志以获取错误信息。录制的测试脚本可以以多种语言导出,比如java,C#,Python,Ruby等,方便掌握不同语言的测试人员操作。Webdriver

Selenium RC 在浏览器中运行 JavaScript 应用,会存在环境沙箱问题,而WebDriver可以跳出JavaScript的沙箱,针对不同的浏览器创建更健壮的,分布式的,跨平台的自动化测试脚本。基于特定语言(Java,C#,Python,Ruby,Perl,JavaScript等)绑定来驱动浏览器对Web元素进行操作和验证。

webdriver的工作原理:

  • 启动浏览器后,selenium-webdriver会将目标浏览器绑定到特定的端口,启动后的浏览器则作为webdriver的remote server。
  • 客户端(也就是测试脚本),借助ComandExecutor发送HTTP请求给sever端(通信协议:The WebDriver Wire Protocol,在HTTP request的body中,会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium我们希望浏览器接下来做什么事情)。
  • Sever端需要依赖原生的浏览器组件,转化Web Service的命令为浏览器native的调用来完成操作。

selenium Grid

selenium Grid是一个服务器,提供对浏览器实例访问的服务器列表,管理各个节点的注册和状态信息。可以实现在同一时刻不同服务器上执行不同的测试脚本。

3 selenium IDE 录制脚本

打开Edge-插件-选择selenium IDE:

创建一个新项目,此时左部 Test Case 窗口会有一个Untitled 的测试案例,右键点击重命名为”test”

Python自动化测试利器selenium怎么使用

点击 IDE 的右上部录制按钮(小红点)开始手动录制

在地址栏中输入待测试的网址如http://www.baidu.com,搜索关键词,这时可以看到IDE进行了录制操作。

在页面中点击右键,可以增加检查点。

录制结束后,点击录制按钮(小红点),结束本次手动录制。在selenium IDE 中,选中一个 Test Case,右击选择“Export 导出为test.py文件。

将该脚本在python中运行并调试。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24# Generated by Selenium IDE import pytest import time import json from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support import expected_conditions from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.desired_capabilities import DesiredCapabilities class TestTest(): def setup_method(``self``, method): self``.driver = webdriver.Chrome() self``.``vars = {} def teardown_method(``self``, method): self``.driver.quit() def test_test(``self``): self``.driver.get(``"https://www.baidu.com/"``) self``.driver.set_window_size(``809``, 864``) self``.driver.find_element(By.``ID``, "kw"``).click() self``.driver.execute_script(``"window.scrollTo(0,0)"``) self``.driver.find_element(By.``ID``, "kw"``).send_keys(``"四月是你的谎言"``) self``.driver.find_element(By.``ID``, "su"``).click()

以上就是Python自动化测试利器selenium怎么使用的详细内容,更多请关注php中文网其它相关文章!

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

pTT7WpQ-1712696679244)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值