Ruby+Watir进行web UI自动化测试

news2024/11/14 21:53:21

1.新建工程文件

打开RubyMine,新建一个工程文件目录如下:

login_mail.rb文件

# encoding:UTF-8
# frozen_string_literal: true

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

那么(/^输入账户名和密码,点击登录按钮$/) do
  $driver.div(id: 'loginDiv').iframe.text_field(name: 'email').set($user)
  sleep(2)
  $driver.div(id: 'loginDiv').iframe.text_field(name: 'password').set($pwd)
  sleep(2)
  $driver.div(id: 'loginDiv').iframe.a(id: 'dologin').click
  sleep(2)
end

config.rb文件

# frozen_string_literal: true

$user = '***'
$pwd = '***'

env.rb文件

# frozen_string_literal: true

require 'watir'

Login_mail.feature文件

#language: zh-CN

功能: 登陆163邮箱

  场景: 正常账号登陆

  当 打开谷歌浏览器,进入163邮箱登陆页面
  那么 输入账户名和密码,点击登录按钮

2.执行用例

在RubyMine打开终端,输入如下命令:

cucumber features/Login_mail.feature -f html -o test.html

则得到测试报告如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2073940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

裸机:串口通信

串口通信的基本原理 单工通信和双工通信 (1)单工就是单方向,双工就是双方同时收发,同时只能但方向但是方向可以改变叫半双工 (2)如果只能A发B收则单工,A发B收或者B发A收(两个方向不能同时)叫半双工,A发B收…

【C++】类与对象篇一

【C】类与对象篇一 一 .面向过程和面向对象初步认识二 .类的详解1.类的引入2.类的定义3.类的访问限定符及封装(面试题)4.类的作用域5.类的实例化6.类对象模型 三 . 结构体内存对齐规则(面试题)四 . this指针1.this指针的特性2.thi…

WOFOST的web应用

目录 运行可视化 参考链接 https://github.com/irripro/WOFOST_streamlit/tree/main 运行 运行主程序.py之后,得到一串命令 将该命令放到命令台中运行 然后会转到WOFOST的web端上 可视化 目前好像只支持欧洲区域的模拟运行

C++篇:C向C++迈进(上)

引言 C语言作为编程基石,其高效与直接性深受开发者喜爱。然而,随着软件复杂度的增加,C以其面向对象及高级特性成为了新的选择。我们接下来将学习C,从C语言迈向C。 什么是C C 是一种高级语言,由 Bjarne Stroustrup 于…

Docker 的简介

Docker 的简介 为什么会有 Docker环境一致性问题提高资源利用率和可移植性快速部署和伸缩简化管理和维护版本控制和回滚 Docker 的历史dotCloud 时代(2010年前)Docker 诞生(2010-2013)快速发展与开源(2013-2014&#x…

mysql 日期字段自动填写日期 及自动更新日期

INSERT 时 自动给日期字段 添加 当前日期时间: 在默认里选中: CURRENT_TIMESTAMP UPDATE 时 自动给日期字段 更新 当前日期时间: 勾选:根据当前时间戳更新

通过VIN车架号查询车辆登记日期

我们先来介绍下什么是vin码,以及vin码的构成结构解析,汽车VIN码,也叫车辆识别号码,通俗可以理解为汽车的身份证号码。 接口介绍 通过17位vin码,获取到车辆的发动机号,初登日期,车辆型号等信息。…

CI/CD之Jenkins用于Linux系统的部署方式汇总

目录 一、前言 二、CI/CD的定义与核心原则 CI/CD在现代软件开发中的重要性 CI/CD与Jenkins的关系 三、Jenkins部署方式汇总 1. 独立服务器部署 (1)离线安装 (2)在线安装 2. Docker容器部署 3. Kubernetes集群部署 4. 云…

聚焦自闭儿童:关注与理解

在探讨一个三岁自闭症孩子不会说话的情况时,我们首先需要理解自闭症这一复杂神经发育障碍的本质,以及它如何影响儿童的社交互动、沟通能力和行为模式。自闭症不仅仅是一个简单的“不会说话”的问题,而是一系列症状的综合体现,这些…

机器学习:随机森林决策树学习算法及代码实现

1、概念 随机森林(Random Forest)是一种集成学习方法,它通过构建多个决策树来进行分类或回归预测。随机森林的核心原理是“集思广益”,即通过组合多个弱学习器(决策树)的预测结果来提高整体模型的准确性和健…

基于Java的小区物业管理系统APP的设计与实现(论文+源码)_kaic

摘 要 小区物业管理系统是现代社会中非常热门的软件,伴随着社区规模的不断扩大和住户的不断增多,本系统的主要目的是辞别帐本以及传统的单一数据管理系统,快捷的保存用户各种数据信息。本系统针对Java系统展开,使用Java、SpringB…

tomcat服务器相关搭建

文章目录 web应用服务器tomcatTomcat功能及介绍配置tomcat服务器生成tomcat启动文件 nginx反向代理session共享服务器 web应用服务器tomcat Tomcat功能及介绍 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和…

香橙派AIPro开发板安装PyQt5 aarch64

香橙派AIPro开发板安装PyQt5 参考 开发板信息 官网开发板信息 软件环境信息 1、安装依赖环境 sudo apt-get install cmake gcc g pip3 install --upgrade pip pip3 install wheel setuptools sudo apt-update sudo apt-get install qt5-default sudo apt-get install qtd…

为什么互联网上要设立防火墙?WAF又是什么?

防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。 防火墙技术的功能主要在于及…

python库(21):

1 TextBlob简介 TextBlob 是一个基于 Python 的文本处理库,能够让基础的自然语言处理任务变得异常简单。 它提供了一个简单直观的 API,让你能够轻松执行词性标注、名词短语提取、情感分析、文本分类和关键词提取等功能。 值得一提的是,Tex…

计算机网络计算题【408】——里昂视频

计算机网络【408】计算题 计算机网络概述【17题】【18题】甘特图【19题】甘特图【20题】【21题】 通信基础【14】求最大传输速率使用两个公式【27】【28】【29】差分曼彻斯特【30】[21]重点 p14 通信基础T31 流量控制与可靠传输机制T21 选择重传协议[GBN]:SR [22][24]***⭐【25…

linux系统使用 docker 来部署web环境 nginx+php7.4 并配置称 docker-compose-mysql.yml 文件

Docker是一个开源的容器化平台,旨在简化应用程序的创建、部署和管理。它基于OS-level虚拟化技术,通过将应用程序和其依赖项打包到一个称为容器的标准化单元中,使得应用程序可以在任何环境中快速、可靠地运行。 Docker的优势有以下几个方面&a…

通用定时器,输入捕获

这个图片主要看评论 这个是定时器输入捕获的基本配置步骤,主要也是看评论 注意:输入捕获开了两个中断,一个是捕获中断,只要有上升沿或者下降边沿或者双边沿,(主要看设置的捕获什么边沿)&#x…

【Python 千题 —— 基础篇】图形的面积(圆形)

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目描述 题目描述 编写一个面向对象的程序,定义一个 Circle 类,该类有一个属性 radius(圆的半径),并具有一个方法 area() 来计算圆的面积。请根据以下要求实…

IM项目:进阶版即时通讯项目---文件存储和消息转发

文章目录 文件传输服务基本功能模块划分流程图实现逻辑代码实现 消息转发功能设计模块划分获取转发目标和消息处理代码实现 文件传输服务 基本功能 文件的上传文件的下载 模块划分 基于gflags进行参数和配置文件的解析基于spdlog进行日志输出基于etcd进行服务注册基于brpc进…