使用Selenium IDE录制脚本

今天,我们开始介绍基于开源Selenium工具的Web网站自动化测试。

Selenium包含了3大组件,分别为:
1. Selenium IDE

基于Chrome和Firefox扩展的集成开发环境,可以录制、回放和导出不同语言的测试脚本。

2. WebDriver

包括一组为不同语言、浏览器提供的类库和驱动,用编程的方式来识别和操作网页及其元素。

3. Selenium Grid

提供主从架构的、分布式测试执行环境,由Hub(主控)和Node(节点)组成。

老版本的Selenium还包括一个已经被废弃的RC组件,它的原理是通过代理的方式向被测试的网页中注入JavaScript代码,完成对页面的操控。当前,RC已被WebDriver组件所替代。大家如在网上看到于此有关的文章,可直接忽略。

如果对软件测试、接口、自动化、性能测试、测试开发、面试经验交流。感兴趣可以加裙485187702,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。

使用Selenium IDE录制自动化测试脚本

  1. 首先安装Chrome浏览器,然后从这里安装Selenium IDE插件;

  2. 点击浏览器右上角的扩展图标(类似1个拼图的符号),选择打开Selenium IDE;

  3. 在弹出的窗口中,点击Record a new test in a new project菜单项;

  4. 输入项目名称(如project1),点击确定;

  5. 在BASE URL文本框中,输入百度网址*https://www.baidu.com*;

  6. 点击Start Recording,开始录制脚本;

  7. 在弹出的百度网站窗口中,完成以下操作:
    7.1. 在关键字文本框中,输入禅道
    7.2. 点击搜索 按钮;
    7.3. 在搜索结果中,点击第1条的标题。

  8. 切换到录制工具窗口,点击右上角红色图标,停止录制;

  9. 输入脚本名称(如script1),进入以下编辑器窗口:

  10. 点击脚本名称(如script1)右侧的更多图标(为纵向排列的3个点),选择Export菜单项;

  11. 此处我们以内嵌Java注释的方式,对脚本做简单的介绍。生成的脚本如下,已忽略其中用于等待窗口的waitForWindow方法和调用。

    // 导入Java类库,如selenium、junit等
    import org.openqa.selenium.WebDriver;

    // 生成的JUnit测试类
    public class Test1Test {

    // 类级别的私有变量
    private WebDriver driver;
    private Map<String, Object> vars;
    JavascriptExecutor js;

    // 使用JUnit的@Before注解,定义在测试执行前,需执行的初始化行为。
    @Before
    public void setUp() {
    // 初始化WebDriver对象
    driver = new ChromeDriver();

    复制代码
    // 初始化JS执行器对象,用于在浏览器中执行Javascript代码。
    js = (JavascriptExecutor) driver;

    }

    // 使用JUnit的@After注解,定义在测试完成后,需执行的清理动作。
    @After
    public void tearDown() {
    // 退出并清理WebDriver对象
    driver.quit();
    }

    // 使用JUnit的@Test注解,标注此方法为一个测试方法。
    @Test
    public void test1() {
    // 打开百度网站首页
    driver.get("https://www.baidu.com/");

    复制代码
    // 设置浏览器窗口大小为1440x875
    driver.manage().window().setSize(new Dimension(1440, 875));
    
    // 找到id为kw的(文本框)控件,在里面输入"禅道"。
    driver.findElement(By.id("kw")).sendKeys("禅道");
    
    // 找到id为su的(按钮)控件,并点击。
    driver.findElement(By.id("su")).click();
    
    // 找到指定内容的链接,并点击。 
    driver.findElement(By.ByPartialLinkText("开源项目管理软件")).click();

    }

    }

最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

8小时传疯!大厂面试真题全被大佬整理在这个小程序上了!【软件测试,建议收藏】

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

全套资料获取方式:点击下方小卡片自行领取即可

相关推荐
李宸净10 小时前
Web自动化测试selenium+python
前端·python·selenium
川石课堂软件测试12 小时前
安全测试|服务器安全加固方法
服务器·功能测试·测试工具·jmeter·mysql·web安全·单元测试
不简说13 小时前
JS 代码技巧 vol.5 — 10 个错误处理套路,从 try/catch 到 Error Boundary
前端·javascript·程序员
龙智DevSecOps解决方案1 天前
Perforce Intelligence 三大平台全新发布:当自动化升级为“自主化”,AI 时代的工作流该如何编排?
软件测试·人工智能·devops·perforce
Larcher1 天前
当 AI 学会写代码:一个自动生成 React 项目的 Agent 实战
人工智能·设计模式·程序员
码栈研说1 天前
Go 语言大白话入门 7 - 函数:把重复代码收起来
后端·程序员
金銀銅鐵1 天前
[Python] 为 Vole 机器语言实现图形化界面
python·程序员
Sam_Deep_Thinking1 天前
DDD里的领域服务,到底什么时候该用?
程序员·架构·系统架构·ddd
前进别停留1 天前
selenium基本使用方式
java·selenium
前端缘梦2 天前
LangGraph 核心特性技术详解:流式输出、持久化、记忆体系与中断实战。
前端·人工智能·程序员