首页 > 其他分享 >Selenium - 自动化测试框架

Selenium - 自动化测试框架

时间:2023-12-22 20:13:50浏览次数:28  
标签:定位 通过 框架 Selenium 元素 driver 自动化 软件测试

Selenium 介绍

Selenium 是目前用的最广泛的 Web UI 自动化测试框架,核心功能就是可以在多个浏览器上进行自动化测试,支持多种编程语言,目前已经被 google,百度,腾讯等公司广泛使用。

开发步骤

1、配置 google 驱动的环境变量,如果不配置需要在代码中指定驱动位置。

2、eclipse 中导入 Java Selenium 的依赖。

3、编写脚本代码。

登录网站

WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().pageLoadTimeout(300000, TimeUnit.SECONDS);
driver.get("http://192.168.2.169:8090/login");
driver.findElement(By.name("username")).sendKeys("wydong");
driver.findElement(By.name("cipher")).sendKeys("123456");
driver.findElement(By.id("login")).click();

元素定位

1、通过 id 定位。

2、通过 name 定位。

3、通过 tagName 定位。

4、通过 className 定位。

5、通过 linkText 定位(链接全部文字)。

6、通过 partialLinkText 定位(链接部分文字)。

7、通过 XPath 定位(相对路径)。

8、通过 cssSelector 定位(推荐使用)。

WebDriver 操作

1、获取页面源码。

2、获取当前页面的 url。

3、访问指定 url。

4、关闭驱动对象。

5、获取打开页面的句柄。

元素等待

1、硬性等待,线程休眠。

2、隐式等待,在超时时间段内,不断查找元素。

3、显试等待,一直等到某个条件符合后才继续执行。

WebDriver 需要切换场景

1、操作 alert 弹框。

2、操作 confirm 弹框。

3、操作 iframe 内元素。

4、操作 Window 元素。

其他

1、通过 JavascriptExcutor 对象执行脚本来操作一些页面元素。

2、通过 Action 对象,可以模仿鼠标的一些特殊操作,如右键、拖拽。

3、非 input 框的上传,利用第三方的工具实现文件上传(如autoit)。

4、遇到验证码的处理:手动去除、图片识别或者万能验证码(后台验证必过)。

5、借助其他专业的框架,可以生成漂亮的测试报告。

最后如果你想学习软件测试和需要软件测试资料,欢迎加入笔者的交流群:731789136,里面可以免费领取软件测试+自动化测试资料+软件测试面试宝典+简历模版+实战项目+面试刷题工具和大佬答疑解惑,我们一起交流一起学习!

标签:定位,通过,框架,Selenium,元素,driver,自动化,软件测试
From: https://www.cnblogs.com/NHB6870/p/17922285.html

相关文章

  • 2023常见自动化测试工具集合
    1、Appium------->AppUI自动化测试官网:http://appium.ioAppium是一个移动端自动化测试开源工具,支持iOS和Android平台,支持Python、Java等语言,即同一套Java或Python脚本可以同时运行在iOS和Android平台,Appium是一个C/S架构,核心是一个Web服务器,它提供了一套REST的......
  • java selenium+ChromeDriver抓取网页长截图全过程 亲测有效
    废话不多说嗷,直接上代码,这个是在借鉴的基础上改的,找不到原版了,所以此处就不@了首先准备下载工具chromedriver.exe此处是一定要跟自己的goole版本对应嗷,我这谷歌版本是最新的,所以下载是118版本的chromedriver.exe大概就是下面这个东西引入maven依赖:<dependency>......
  • Scrapy框架与数据库整合:如何实现动态数据存储?
    随着互联网数据量的不断增加,如何快速、准确地爬取、处理、存储数据成为了互联网应用开发的关键问题。而Scrapy框架作为一个高效的爬虫框架,凭借其灵活、高速的爬取方式被广泛应用于各种数据爬取场景。然而,仅仅将爬取到的数据保存到文件中,无法满足大部分应用程序的需要。因为在当前......
  • C# selenium 超时设置
    //设置页面加载超时时间this.driver.Manage().Timeouts().PageLoad.Seconds.Equals(TimeSpan.FromSeconds(300));//隐式等待this.driver.Manage().Timeouts().ImplicitWait.Seconds.Equals(TimeSpan.FromSeconds(300));//异步脚本执行超时时间this.driver.Manage().Timeouts......
  • 10个Python脚本自动化日常任务
    在这个自动化时代,我们有很多重复无聊的工作要做。想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松。那么在本文中,我将向您介绍10个Python自动化脚本,以使你的工作更加自动化,生活更加轻松。因此,没有更多的重复任务将这篇文章放在您的列表中,让我们开始......
  • Python自动化脚本
    自动生成素描草图在注册一些网站时,经常发愁头像怎么选?放真人照上去怕吓跑别人,放风景图片自己又不喜欢。是时候用素描草图了,妈妈再也不用担心我的头像吓跑人了!importcv2img=cv2.imread("elon.jpg")##ImagetoGrayImagegray_image=cv2.cvtColor(img,cv2.COLOR......
  • 基于SSM框架的校园快递一站式服务系统
    选题的目的和意义:目的: 校园快递一站式服务系统的研究目的有两个,一个为校园及学生提供充足的信息和快捷的查询手段,并提高校园快递管控效率。另一个是检验学习成果,提高自我开发水平。意义:随着计算机应用的普及与深入,利用计算机能够对校园快递信息进行统一管理,并进行分析,大大减少......
  • 基于SSM框架云趣科技客户管理系统
    一、课题的背景和意义1、课题目的客户管理是每个企业中最重要的模块,对客户的分类管理有利于更有效地了解从而提高工作效率,一个良好的客户管理系统对于每个企业是至关重要的,记录到系统的数据库中的不仅是客户的基本信息资料,也可以对客户添加各种标签利于分类。设计一个多用途的客......
  • 基于ssm框架的削面快餐店点餐服务系统
    主要研究内容:本系统采用java语言和mysql数据库,ssm框架。本系统包括管理员和用户。管理员:个人中心,对账号、密码修改,用户管理,对用户的基本资料管理,食物库存管理,查询食物库存,进行库存统计,商品展示管理,发布、修改、删除商品,未预定餐桌管理,对没有预定的餐桌进行管理,已预定餐桌管理,对已......
  • ArgoCD和Argo Rollouts自动化部署应用
    环境说明使用ArgoRollouts部署nginx应用:1.使用Rollout部署nginx2.采用canary部署策略3.结合Analysis进行渐进式交付4.结合IstioVirtualService进行自动化流量分割和流量迁移5.部署清单放在gitrepo中使用ArgoCD进行自动化部署:1.使用Application监视GitRepositor......