菜单

Autofill 实践 – CSDN博客

2018年6月28日 - 技术文章

Autofill 实践

2017年12月18日 14:10:36

阅读数:373

背景

  公司CD Team团队执行测试时需要填写多到10来个的表单页面,如果每个表单都靠人工一个一个去输入那势必会非常的繁琐,带来非常多的工作量,而且原来的ART工具也无法在新的站点上使用,所以急需一个类似ART的工具,有自动填写表单的功能。

Autofill 介绍

  Autofill 正是一个只需要前期简单配置,便可以辅助填写表单的Chrome 浏览器插件。

Autofill 简单原理介绍

  Autofill 其实是通过用户在配置界面配置的网址,控件定位方式,控件类型,控件操作内容从而通过这些信息去执行JS脚本以达到自动填充表单的目的。

安装

  既然是Chrome的一个插件,那么只需要进入到Chrome网上应用商店搜索“Autofill”便可以找到,当前最新版是v7.1,这里直接给地址:https://chrome.google.com/webstore/detail/autofill/nlmmgnhgdeffjkdckmikfpnddkbbfkkk?utm_source=chrome-app-launcher-info-dialog注意:国内需要Chrome 插件安装需要翻墙

Paste_Image.png

点击【添加至CHROME】等待安装完成便可。

Paste_Image.png

界面介绍

  安装完Autofill 后,会在Chrome浏览器右上角出现一个闪电图标,右键图标点击选项打开Aufofill 配置界面:

Paste_Image.png

  Autofill配置界面相对还是比较简洁,分为四大块:

  1. Form Fields(表单字段):最主要的配置界面,用于配置自动填表单的信息。
  2. Expressions(例外):用于设置你不想自动填写表单的网页地址,支持正则。
  3. Other Stuff(其它标签):这里有一些高级设置,主要用于设置自动填表单规则和导入导出。
  4. Support(支持):这个主要是帮助文档,还有一些快捷键列表。

Paste_Image.png

快速上手

  Autofill 提供了非常方便的录制功能,可以快速生成配置文件。

录制

  假设我们以Autofill提供的【练习表单页面】为例子:http://www.tohodo.com/autofill/form.html
1.打开页面,在需要自动填写表单的控件中(支持下拉选项框,单选框,复选框,文本框)编辑内容,例如下:

Paste_Image.png

2.表单填写完后右键:Autofill –> 为此页面增加规则…

Paste_Image.png

3.如果是第一次使用,那么在生成自动填充规则前,我们需要新建一个配置文件。

Paste_Image.png

4.创建完或者已经选取了一个配置文件,最后直接点击 【生成自动填充规则】,这样我们就根据填写的表单生成一个配置文件,打开Autofill的设定中的表单字段可以查看到:

Paste_Image.png

使用配置文件,自动填充表单

  完成配置文件后,那么我们就可以使用该配置文件来进行自动化填充。
进行自动填充工具提供了两种模式既1.自动模式 2.手动模式, 默认为手动模式。

自动模式

  再次去刷新【练习表单页面】,你会发现不管怎么刷新我们录制过的控件,总是会按我们录制时的情况自动填充。

手动模式

  要使用手动模式,需要先到Autofill设定中的其他标签–>高级选学校中勾选【开启手动模式】。

Paste_Image.png

  开启手动模式后,我们再次进入到【练习表单页面】,刷新页面,这时页面表单就无法自动填充,如果想实现自动填充需要鼠标右键–>Autofill–>使用配置–>Test1,这时就可以完成自动化填表单操作。

Paste_Image.png

填充时是否覆盖原来的内容

  有时我们的表单中已经有包含了一些内容,我们希望在自动填充时不去修改已填充的文本框,这时我们可以打开Autofill设定找到对应的配置文件,去掉【覆盖非空字段】的勾选框便可。

Paste_Image.png

配置文件导入和导出

  Autofill 提供了配置文件的导入和导出功能,方便团队成员间互相分享配置。
  导入和导出的入口都在其它标签里面。点击导出可以把导出的文本copy到记事本或者保存成csv文件给伙伴。 导入可以把导出的文本copy到文本框点击导入完成。 同时导出支持替换和追加,替换就是把自己原来的配置都删除,玩玩全全使用导入的配置,追加则在原有的配置基础上添加新导入的配置。

Paste_Image.png

增强配置文件

让同一个配置支持多个站点

  如果A,B两个网站存在相同的表单(空间定位方式也一样),而你又不想因此建立多个配置文件,那么可以修改配置文件中的站点,使之支持多个网站。 修改规则只需要添加 “|”后跟上其它站点地址。 例如下:

Paste_Image.png

内容变量设置

  通过录制生成的配置文件中【内容】项是个固定值,然后实际使用中我们往往需要一些随机数或者变量,例如创建账号的表单,总是希望每次自动填表单自动生成的用户名都是不一样的,那么Autofill提供了4种变量设置。
随机数 
随机数生成分成纯数字和数字与字符串结合两种方式,语法如下:
1.随机生成N位数字: {#N}
2.随机生成N位字符串: {$N}

递增 or 递减
递增:{1++}
递减:{1000–}

随机选取某个选项
从某些选项中随机选取一个,进行填写表单。 例如随机从a,b,c,d中选取一个: {a|b|c|d}

获取规则表中的值
也许我们会有这么场景,我们的确认密码文本框的值,必须等于文本框的值,那么其实我们可以通过Autofill提供的获取规则表中的值来解决,这里主要提供了获取配置文件中【名称】【内容】的值。
例如下图:通过{v7} 来获取 上一个内容的值,当然如果想获取名称里面的值,只需要{n7}便可,每个【名称】和【内容】框的右上角都会对应一个值,而且唯一。

Paste_Image.png

个性化定制

  Autofill 提供了个性化定制或者说提供了执行JS的功能,我们可以写一段JS 放入配置文件中,那么配置文件被执行时会自动执行这段JS。
具体步骤如下图:

  1. 点击 + 号图标,添加一条配置
  2. 类型全球JavaScript类型
  3. 在内容中把调试通过的JS黏贴进去
  4. 配置要执行JS的站点

    Paste_Image.png

执行效果:

Paste_Image.png

补充:在录制生成或者手工编写的配置中的【名称】既定位方式,其匹配优先级由高到底为:name,id,placeholder,title,class,同时可以使用正则表达式。

小结

与手工对比优势:

  1. 节约大量时间,由原来纯手工测试1个case半小时左右的执行时间缩短到只需要10分钟左右。
  2. 可以预先设置规则
  3. 避免重复操作

与ART对比优势:

  1. 支持medicare网站
  2. 通用性更强
  3. 更容易维护

不足:

  1. 缺乏快捷键选取配置文件
  2. 值支持原生JS,不支持jquery等框架

更多详细帮助,可以参考Autofill在线帮助文档:http://www.tohodo.com/autofill/help-chrome.html

文章标签:
Automation

个人分类:
Automation

发表评论

电子邮件地址不会被公开。 必填项已用*标注