如何用Selenium做自动化测试

2023-11-19

我们做自动化测试如果想提高一下自己的软实力,我建议还是学着多写写脚本,这样能锻炼自己的编程能力,让我们以开放测试的思维去测试产品,而不是为了测试而测试,那样我觉得没什么意义。当然这样不是说其他不写脚本、简单的自动化没意义(本人不反对!),认真对待一样可以做好。重要的是我们出于何种目的何种想法去做自动化的。好了,我们言归正传,今天给大家讲讲用selenium做自动化的一些实用初级的配置和使用:

1.首先准备我们的脚本工具Eclipse(在此不做详细叙述,百度去下载一个就行了)

2.安装并配置java环境变量(如果不会直接去找百度,很简单的)

3.前两点完事后,就可以打开我们的eclipse创建java工程了(没错,是java工程),简单讲解一下:

一、首先,打开Eclipse,在工具栏依次点击【File】>>>【New】>>>【Other】

二、我们在搜索框里输入【java】,然后下面会列出符合要求的列表,我们点击一下【Java Project】,然后点击【Next】

三、这里要输入你JAVA项目的名称了,我测试一下,就输入HelloWorld,你可以输入你想创建的项目名称,然后点击【Next】

四、这个界面是确认信息,默认JAVA项目的JAVA类的存储目录是SRC,编译后的CLASS文件在BIN目录下,这个不用修改,直接点击【Finish】

五、这样我们就创建好了一个java工程,还没完事,还要创建一个testng类,名字就叫HelloWorld.java,完事测试一下,我们在testng类任一位置右键,然后一次选择【Run As】>>>【Java Application】,意思就是以testng类的方式运行,ok,运行成功。

六、接下来(重点!重点!重点!):我们右键我们的项目名称,选择build path-->configure build path,如图:


        点击Add Library,将上图中红框中的library库加入进来,java环境就选自己安装的版本就可以,比如1.7或1.8等等,点击add external jars将红框上边的两个selenium的jar包引入进来(时间关系,请自行下载),好了,到此我们的环境准备工作就基本完事了。下面我们讲一个实际的小例子,我们编写一段脚本,做一个打开浏览器操作,当然我们想打开ie(用ie举个例子)要有驱动支持,去网上下载一个IEDriverServer.exe程序,我们需要它来将IE调起来。下面直接上代码:


        解释一下上面代码的要实现的功能,首先我定义一下ie驱动的位置,告诉我的脚本驱动在哪里,这样我运行脚本它会按照驱动的路径去找它,然后我定义一下我要打开哪个浏览器,是ie?火狐?谷歌?所以我要告诉我的脚本,你去打开ie就好了,再下一步,我让它打开浏览器之后将ie的窗口最大化,最后在地址栏输入我要操作的网址,ok,完事,运行成功。

注意事项:如果你写的脚本有问题,eclipse有一个好处,就是哪里报错你就点到那个不错的地,它会告诉你哪里错了,要么语法错误,要么未引入正确的包,等等,这样能够很快的定位问题,好了,今天先介绍到这里,本人经验有限,如有错误之处,请指正,下次再详细介绍,谢谢!!!


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用Selenium做自动化测试 的相关文章

  • 如何在 Openfire 中使用 smack

    你好 我计划开发一个可以连接到 gtalk facebook 等的聊天客户端 我决定将 smack API 与 openfire 一起使用 但我需要很少的指导来了解如何将它与 openfire 服务器一起使用 openfire 是否提供了基
  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • FileNotFoundException - Struts2 文件上传

    Strange FileNotFoundException使用Struts2上传文件时 这是 JSP 的一部分
  • 如何在java Spring Boot中实现通用服务类?

    我有许多具有重复代码的服务 我想知道如何实现通用服务 以便我的所有服务都可以扩展它 服务接口示例 重复代码 Service public interface IUserService List
  • Spring数据中的本机查询连接

    我有课 Entity public class User Id Long id String name ManyToMany List
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • Karaf / Maven - 无法解决:缺少需求 osgi.wiring.package

    我无法在 Karaf 版本 3 0 1 中启动捆绑包 该包是使用 Maven 构建的并导入gson http mvnrepository com artifact com google code gson gson 2 3 1 我按照要求将
  • GWT 中出现“无法在类路径上找到 XXX.gwt.xml”错误

    将 Maven GWT 项目导入 Eclipse 后 调试器无法工作 抱怨它 Unable to find ProjectName gwt xml on your classpath 你如何修复这个错误 事实证明 当您将某些 GWT 项目调
  • 无需登录即可直接从 Alfresco 访问文件/内容

    我的场景是这样的 我有一个使用 ALFRESCO CMS 来显示文件或图像的 Web 应用程序 我正在做的是在 Java servlet 中使用用户名和密码登录 alfresco 并且我可以获得该登录的票证 但我无法使用该票证直接从浏览器访
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

    我有一个带有 Java 代码的多模块 Maven 设置 我的单元测试在其中一个模块中测试多个模块中的代码 当然 这些模块具有相互依赖性 并且在测试执行之前根据需要编译所有相关模块中的代码 那么 如何获得整个代码库覆盖率的报告 注意 我不是问
  • 如何从网站的 HTML 内容获取 XPath 表达式?

    我想在 Selenium 代码中使用 XPath 表达式 但我不知道如何从网站的 HTML 代码中获取它 我正在使用 Google Chrome 网络浏览器 最简单的方法是inspect您想要获取其 XPath 表达式的元素 然后单击突出显
  • 禁用 Android 菜单组

    我尝试使用以下代码禁用菜单组 但它不起作用 菜单项仍然启用 你能告诉我出了什么问题吗 资源 菜单 menu xml menu menu
  • JMS 中的 MessageListener 和 Consumer 有什么区别?

    我是新来的JMS 据我了解Consumers能够从队列 主题中挑选消息 那么为什么你需要一个MessageListener因为Consumers会知道他们什么时候收到消息吗 这样的实际用途是什么MessageListener 编辑 来自Me
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com
  • Java 的 PriorityQueue 与最小堆有何不同?

    他们为什么命名PriorityQueue如果你不能插入优先级 它看起来与堆非常相似 有什么区别吗 如果没有区别那为什么叫它PriorityQueue而不是堆 默认的PriorityQueue是用Min Heap实现的 即栈顶元素是堆中最小的
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向

随机推荐

  • android jni 报错 libjnidispatch.so 找不到

    Caused by java lang UnsatisfiedLinkError Native library com sun jna android arm libjnidispatch so not found in resource
  • ffmpeg by id和by name查找decoder的区别

    转自 https blog csdn net muyuyuzhong article details 79735763 同一个 AVCodecID 可能对应多个不同的编解码器 AVCodec 他们有不同的 AVCodec name avco
  • 一张图深度解析Linux共享内存的内核实现

    一张图深度解析Linux共享内存的内核实现 Sailor forever sailing 9806 163 com http blog csdn net sailor 8318 article details 39484747 PDF版本下
  • ThreadLocal学习

    1 threadLocal图解 java lang ThreadLocal类实现了线程的本地存储 ThreadLocal的内部实现 ThreadLocal的内部实现包括一个类似HashMap的对象 这里称之ThreadLocalMap Th
  • 华为OD机试 - 表达式括号匹配(Java)

    题目描述 1 2 3 3 8 0 1 2 这是一个简单的数学表达式 今天不是计算它的值 而是比较它的括号匹配是否正确 前面这个式子可以简化为 这样的括号我们认为它是匹配正确的 而 这样的我们就说他是错误的 注意括号里面的表达式可能是错的 也
  • rhel的一些配置

    ip etc sysconfig network scripts ifcfg eth0 DEVICE eth0 NM CONTROLLED yes ONBOOT yes BOOTPROTO dhcp BOOTPROTO static IPA
  • 消息转换器统一对null值处理

    import java nio charset Charset import java util ArrayList import java util List import org springframework context anno
  • STM32 CAN通信理解(是半双工还是全双工?)

    STM32F429 CAN通信 CAN 是控制器局域网络 Controller Area Network 的简称 它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的 并最终成为国际标准 ISO11519 是国际上应用最广泛的现场
  • 数据结构--二叉树的二叉链表实现

    1 二叉树的二叉链表示意图 二叉链表的每个结点由三个域组成 数据域 左指针域和右指针域 左右指针分别用来保存左右孩子结点的存储地址 2 二叉链表实现二叉树 2 1 头文件及其定义 BTNode h pragma once typedef c
  • 利用umi实现前端自定义打包

    背景 目前项目有这么一个需求 一套前端代码里面有两个项目 这两个项目一个是设备页面 一个是平台页面 因为这两个项目有共同的页面和代码 所有就写在一个仓库里面 出现的问题是 打包项目A并且也会随带的项目B的代码 这就会造成打包体积的增大 打包
  • java bean的使用

    这是我最终尝试成功的项目页面截图 网页效果 注意的点 1 Dog类 bean类 必须拥有一个无参构造器 这和spring里的bean的设计是一个理念 spring借鉴于javabean 2 通过getXxx和setXxx方法来访问成员变量
  • SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询

    摘要 本文我们将继续分享介绍Spring Boot在整合Mybatis开发企业级应用时其他典型的业务场景 即Mybatis是如何实现多表关联查询时将查询结果集与对象进行映射的 主要的内容包含 一对一的表关联 和 一对多 多对多的表关联 查询
  • python语言合法命名-Python中的标识符命名方法及使用注意事项

    Python中的标识符是由用户定义的名称 用来指定变量名称 函数名称 类名称 模块等名称 1 标识符的命名规则 1 不能使用Python的保留字 关键字 来命名标识符 2 Python标识符合法的字符包括 26个大小写字母 a z A Z
  • Linux中select poll和epoll的区别

    select的本质是采用32个整数的32位 即32 32 1024来标识 fd值为1 1024 当fd的值超过1024限制时 就必须修改FD SETSIZE的大小 这个时候就可以标识32 max值范围的fd 对于单进程多线程 每个线程处理多
  • STM32笔记:使用SysTick测量程序的运行时间

    本实验用来测量延时函数 如下 的运行时间 void Delay IO u32 nCount for nCount 0 nCount SysTick c include SysTick h IO u32 TimingDelay 0 void
  • 自己的第一个程序 — QT聊天软件 小感

    其实当初师兄给我这个任务的时候还是在2010年的11月份 那个时候刚到项目上的我超级自信 总认为只要自己想做 稍微看下书 动下手就可以写出来了 所以当师兄问我多久可以做好的时候 我开始满怀信心的说一个星期 后来细想下有点悬 说还是2个星期吧
  • VUE props 实现原理(源码解析)

    VUE props 实现原理 源码解析 前言 我们在使用组件的时候 都会给组件传入一些属性 但是在使用时 却只是关注了它传递数据的功能 没有想过它是怎样的一个原理 具体是怎么实现的 其实我们平时写出来的组件 本质上就是一个template模
  • 屏蔽SSH服务的弱密码算法

    前言 等保测试 1 目标主机SSH服务存在RC4 CBC或None弱加密算法 2 如果配置为CBC模式的话 SSH没有正确地处理分组密码算法加密的SSH会话中所出现的错误 解决办法 仅保留CTR加密算法 参考文章 1 编辑 ssh 配置文件
  • Windows 域基础环境搭建-Win_Server_2003

    文章目录 1 Windows 域基础环境搭建 Win Server 2003 1 1 Windows域简介 1 1 1 Windows域作用 1 1 2 Windows计算机查看所在域方式 1 1 3 域控 DC 1 2 Windows域环
  • 如何用Selenium做自动化测试

    我们做自动化测试如果想提高一下自己的软实力 我建议还是学着多写写脚本 这样能锻炼自己的编程能力 让我们以开放测试的思维去测试产品 而不是为了测试而测试 那样我觉得没什么意义 当然这样不是说其他不写脚本 简单的自动化没意义 本人不反对 认真对