前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ruby+watir UI测试

ruby+watir UI测试

作者头像
muntainyang
发布2020-10-23 11:23:14
4880
发布2020-10-23 11:23:14
举报
文章被收录于专栏:IT测试前沿

UI自动化测试的方法很多,这次我介绍一下ruby环境的UI测试

说到UI测试,不得不说,大部分都会拿网易的163邮箱进行练习,不多介绍其他,直接上干货:

目录结构如图:

代码语言:javascript
复制
demo:项目目录
features:用来放置脚本目录,配置文件目录和用例
        Login_mail.feature 用例文件,格式是 feature
step:脚本目录.用来放置脚本,脚本格式是 rb
support:配置文件目录,配置文件格式为 rb
        config.rb 配置各种账号密码等
        env.rb  配置导入的包

用例编写格式

代码语言:javascript
复制

脚本编写格式

代码语言:javascript
复制
# encoding:UTF-8

当(/^打开浏览器,进入163邮箱登陆页面$/)do
$driver = Watir::Browser.new :chrome    
sleep(2)
$driver.window.maximize
sleep(2)
$driver.goto('https://mail.163.com')
end

那么(/^点击密码登陆,进入账号输入页$/)do
$driver.a(:id,'switchAccountLogin').click
end

那么(/^输入账户名,密码,进行登陆$/)do
$driver.div(:id,"loginDiv").iframe.text_field(:name,'email').set($user)
$driver.div(:id,'loginDiv').iframe.text_field(:name,'password').set($pwd)
$driver.div(:id,'loginDiv').iframe.a(:id,'dologin').click
end

为了防止乱码等问题首行,声明了一下编码格式 其他跟selenium操作基本类似;脚本中的字符必须要与用例中的字符完全相匹配(最好从用例中进行复制),否则会报错

配置文件格式

config.rb

代码语言:javascript
复制
# encoding: UTF-8
$user='xxx'
$pwd='xxx'

因为不在同一个文件中,一般都在各种配置前加上$,声明成全局变量,方便直接使用

env.rb

代码语言:javascript
复制
#encoding: UTF-8
require 'watir' 

在这个文件中引入要用的包,脚本文件就不用在引用,可以直接使用,也可以在这个文件中添加钩子代码,用于触发时执行(比如脚本执行过程中出现错误,进行截图等)

当然,你也可以封装各种函数在rb文件中.不需要导入可以直接使用,很方便

本地执行:

代码语言:javascript
复制
1. 打开cmd,切换到项目目录:
2. 输入命令:cucumber features\Login_mail.feature
3. 回车

如果要打印报告,输入:

cucumber features\Login_mail.feature -f html -o log.html

其中 f 用来指定报告格式, o用来指定生成报告的名称 也可以在报告名称前添加目录,用来指定报告存放的位置

生成的报告如图:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT测试前沿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • UI自动化测试的方法很多,这次我介绍一下ruby环境的UI测试
  • 用例编写格式
  • 脚本编写格式
  • 配置文件格式
    • config.rb
      • env.rb
      • 本地执行:
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档