当前位置: 首页 > news >正文

Selenium 人工智能操作工具

嘿,小伙伴们周末有没有像 大猪 一样在加班的,今天分享一个超有意思的东西 Selenium 自动化工具,不是说的好人工智能操作?大猪 什么时候也变成标题党了嘛,所谓的自动化不就属于人工智能操作嘛,把平时繁琐的事都交给它去做,这么一说还被你给蒙混过去了。

Selenium 就像真实用户所做的一样,Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行。其他测试工具都不能覆盖那么多的平台。咱们的 Selenium 和在浏览器中运行测试还有很多其他好处,后面我们再慢慢介绍。

使用指南

在这里 大猪 只介绍一个语言的使用方法哈,毕竟脑子小学不下那么多种语言的用法。

话又说回来了、那 Selenium 支持多少种语言呢?大猪 从官网上得到的信息的是:JavaScalaC#RubyPythonJS(Node)

这么看来,还是挺多的,如果还不满足咱们还可以使用 Selenium IDE 功能,就是只在浏览器上操作,因为挺多测试的小伙伴对手写代码还存在一定的抗拒。

这里 大猪 使用 Selenium IDE 给大家演示一下,它是一个浏览器插件,Chrome下载地扯 / Firefox下载地扯。

演示一下如何它打开 大猪 的简书,并打开一篇文章进行评论。

操作步骤比较简单,就是我们平时打开 大猪 的文章查看并评论就可以了,停止录制后,就生成了下面的脚本编辑界面:

看,以上就是 大猪 打开一篇文章进行评论的所有操作。

  1. Chrome 浏览器上打开 [www.jianshu.com/u/3b4ddfabf… ](www.jianshu.com/u/3b4ddfabf… ) 大猪的博客首页。

  2. 设置窗口大小, 使用的默认配置。

  3. 点击一篇链接名称为 Spark+Hbase 亿级流量分析实战( 留存计算) 的文章。

  4. 对焦打开的窗口,自动完成。

5~6. 大猪 要把页面滑到底部进行评论。

  1. 点击输入框获取焦点。

  2. 输入文字 Selenium 大法好

  3. 点击发送按钮进行评论。

是不是整个流程都很简单?把录制的脚本再修改一下,又是一个访问大猪另一篇文章的操作了。

5个常用的操作

行为操作:就是所有的手势操作,包括click,double click,mouse,keyword等等。

开关:是否禁止此次操作。

窗口配置:点击链接后打开的新窗口配置。

搜索元素:测试元素是否在界面上,如果有则显示下面的对焦界面

重新选择:大家如果觉得选错元素了,还可以重新去选择操作,因为有时候网页也会升级跟着改变的嘛。

回放:就是把我们已经修改好的脚本进行播放并自动化操作。

编程

上面已经讲完了 Selenium IDE 的使用,我们如果需要还可以对录制的脚本进行复杂的编程操作。

大猪 下面使用scala语言来演示:

下载chrome驱动包,要对应上自己的Chrome版本:Chrome 驱动列表

添加 gradle 依赖包

操作代码

语言都是互通的,相信大家都能照葫芦画瓢

编程的优势就在于可以使用复杂的逻辑进行处理。


相关文章:

  • 雷军:明后年会迎来5G手机的全面换机潮
  • Arts 第三周(4/1 ~ 4/7)
  • 3.31
  • 经常被问到的十个 Java 面试题?你Get了吗?
  • linux gcc 静态 动态链接库
  • Apache基金会总结RocketMQ:中国70%的银行核心业务已采用,国内技术人员贡献明显增多...
  • 如何在Kubernetes上运行Apache Flink
  • go package包的使用
  • GC参考手册 —— GC 算法(基础篇)
  • java B2B2C Springboot电子商城系统-路由网关(zuul)
  • 我们用5分钟写了一个跨多端项目
  • Ubuntu MATE 推出树莓派版本
  • 【本人秃顶程序员】SpringBoot基础之banner玩法解析
  • 红米6.0系统设备最完美激活Xposed框架的流程
  • 微软宣布Azure Functions正式支持Java
  • [NodeJS] 关于Buffer
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • Android系统模拟器绘制实现概述
  • css布局,左右固定中间自适应实现
  • Intervention/image 图片处理扩展包的安装和使用
  • Koa2 之文件上传下载
  • miaov-React 最佳入门
  • PHP 7 修改了什么呢 -- 2
  • SpringBoot 实战 (三) | 配置文件详解
  • 算法-插入排序
  • 学习HTTP相关知识笔记
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • postgresql行列转换函数
  • (¥1011)-(一千零一拾一元整)输出
  • (16)Reactor的测试——响应式Spring的道法术器
  • (笔试题)合法字符串
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (独孤九剑)--文件系统
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (强烈推荐)移动端音视频从零到上手(上)
  • (三十五)大数据实战——Superset可视化平台搭建
  • (一)80c52学习之旅-起始篇
  • *Django中的Ajax 纯js的书写样式1
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core 通过 Ef Core 操作 Mysql
  • .net core 依赖注入的基本用发
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET是什么
  • .Net中间语言BeforeFieldInit
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [].slice.call()将类数组转化为真正的数组
  • [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组)
  • [C# 开发技巧]实现属于自己的截图工具
  • [codevs] 1029 遍历问题
  • [hdu2196]Computer树的直径
  • [IE6 only]关于Flash/Flex,返回数据产生流错误Error #2032的解决方式