Katalon 代码片段:

1)if(WebUI.verifyTextPresent(findTestObject('Page_Skin/p_Are you ok?'),10,FailureHandling.CONTINUE_ON_FAILURE)) 表达式未获取到true或者false值;

2) if(WebUI.waitForElementPresent(findTestObject('Page_Skin/Continue Seds'),10,FailureHandling.OPTIONAL)) 表达式可以获取到true或者false值;

3) 测试Demo:

WebUI.openBrowser('')

WebUI.navigateToUrl('https://www.hehe.org/')

WebUI.verifyElementVisible(findTestObject('Page_Skin_1cc4a1/span_LoginSign up'))

WebUI.click(findTestObject('Page_Skin_1cc4a1/span_LoginSign up'))

WebUI.setText(findTestObject('Page_SkinHehe_1cc4a1/input'), '207@ccwwwaa.com')

WebUI.setText(findTestObject('Page_SkinHehe_1cc4a1/input_1'), '123456')

WebUI.click(findTestObject('Page_SkinHehe_1cc4a1/span_LOGIN'))

WebUI.click(findTestObject('Page_SkinHehe_1cc4a1/span_Wrinkles, Texture, Pores'))

WebUI.click(findTestObject('Page_SkinHehe_e46d5e/span_Get Treatment'))

WebUI.click(findTestObject('Page_SkinHehe_e46d5e/span_Add  Continue'))

WebUI.waitForPageLoad(5)

// Skin buy something flow

if(WebUI.waitForElementPresent(findTestObject('Page_SkinHehe_1cc4a1/radio3c'),

2,FailureHandling.OPTIONAL)) {

WebUI.click(findTestObject('Page_SkinHehe_1cc4a1/radio1a'))

WebUI.click(findTestObject('Page_SkinHehe_1cc4a1/span_Next'))

}else {

println 'ques radio1'

}

for(int i =0;i<10;i=i+1) {

if(WebUI.waitForElementPresent(findTestObject('Page_SkinHehe_1cc4a1/radio2b'),

2,FailureHandling.OPTIONAL)) {

WebUI.click(findTestObject('Page_SkinHehe_1cc4a1/radio2b'))

WebUI.click(findTestObject('Page_SkinHehe_1cc4a1/span_Next'))

}else {

println 'ques radio2b not shown'

}

if(WebUI.waitForElementPresent(findTestObject('Page_SkinHehe_1cc4a1/textarea'),

2,FailureHandling.OPTIONAL)) {

WebUI.setText(findTestObject('Page_SkinHehe_1cc4a1/textarea'), '0001')

if(WebUI.waitForElementPresent(findTestObject('Page_SkinHehe_1cc4a1/textarea2'),

2,FailureHandling.OPTIONAL)) {

WebUI.setText(findTestObject('Page_SkinHehe_1cc4a1/textarea2'), '0002')

}

WebUI.click(findTestObject('Page_SkinHehe_1cc4a1/span_Next'))

}else {

println 'ques textarea'

}

if(WebUI.waitForElementPresent(findTestObject('Page_SkinHehe_1cc4a1/checkbox1'),

2,FailureHandling.OPTIONAL)) {

WebUI.click(findTestObject('Page_SkinHehe_1cc4a1/checkbox1'))

WebUI.click(findTestObject('Page_SkinHehe_1cc4a1/span_Next'))

}else {

println 'ques cb textarea'

}

}

自动化测试工具-Katalon Studio的更多相关文章

  1. 免费自动化测试工具Katalon Studio入门

    Katalon Studio 一.简介: Katalon Studio 是一个在网页应用.移动和网页服务方面功能强大的自动化测试解决方案.基于 Selenium 和 Appium 框架,Katalon ...

  2. 自动化测试工具Katalon简单使用

    前一段时间接触了下Katalon,当时只是简单用了下,今天看到Katalon给发邮件,发现都忘记了,因此重新学习并记录下来 Katalon是在Selemium相同的内核上构建起来的一个自动化测试工具 ...

  3. 自动化测试工具 Test Studio入门教程

    Test Studio安装 可以到下载试用版 官网 http://www.telerik.com/teststudio , 装完以后需要装silverlight 安装好了,主界面是介个样子的 Test ...

  4. katalon系列一:初识Katalon Studio自动化测试工具

    最近准备把公司的系统搞上UI自动化,先是自己用Python+selenium+pytest写了一个框架,开始写case的时候发现效率极其慢.原因为: (1)开发为提高前端响应时间,使用前端路由技术,一 ...

  5. katalon Studio之WebUi自动化测试视频教程持续更新

    通知...通知...通知... 为了更好的把katalon Studio自动化测试工具推广给大家,最近在B站中开通了视频专栏,地址如下: https://www.bilibili.com/video/ ...

  6. Selenium自动化测试插件—Katalon的自述

    Katalon-一款好用的selenium自动化测试插件 Selenium 框架是目前使用较广泛的开源自动化框架,一款好的.基于界面的录制工具对于初学者来说可以快速入门:对于老手来说可以提高开发自动化 ...

  7. katalon studio配置git与git项目创建

    katalon 是一款在2015年诞生的可以安装在windows.macOS.linux操作系统上,基于selenium 和 Appium 测试框架,并集成了这些框架的优点的自动化测试工具.关于这个工 ...

  8. 2019最好用的自动化测试工具Top 10,果断收藏!

    经常有人在公众号留言或是后台问我,做自动化测试用哪个工具好,或是学哪门编程语言好呢? 这个时候总是无奈的说: 你应该学习Python 或是Java. 你应该掌握Selenium. 又或者你需要学会jm ...

  9. 自动化测试 | 好用的自动化测试工具Top 10

    欲善其事必先利其器,本文从软件测试人员痛点出发,介绍如何先从工具选择上取得优势,在有限的时间内完成工作.经常有人在公众号留言或是后台咨询,做自动化测试用哪个工具好,或是学哪门编程语言好呢? 这个时候总 ...

  10. Android 手机自动化测试工具有哪几种?

    1.Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出.实际上该工 ...

随机推荐

  1. 识别指定window窗口的文本

    1. 简单需求 通过图文识别读取一个指定window窗口的文本. 获取窗口句柄,截图保存成bitmap ,调用图文识别库. 测试结果是对中文下的识别不是特别好. 需要注意的是,tessdata要下载指 ...

  2. 禁止http请求自动跳转到https--解决网站使用了HSTS的问题

    前言 目前有些网站支持http和https两种协议访问,有些只支持一种协议访问.根据动态域名安全策略(HSTS),只要该域名在浏览器中访问过一次https,那么,谷歌浏览器会自动将http跳转到htt ...

  3. NOIP2023模拟9联测30 T4 金牌

    NOIP2023模拟9联测30 T4 金牌 LCA 还能 \(O(1)\)-- 思路 思路非常简单,可考试就是想歪成统计指数了-- 将一条穿过 \((x,y)\) 的路径 \((u,v)\) 分为 \ ...

  4. ElementUI Select单选切换多选无法清除历史数据的解决方案

    背景: 有一个tab切换,每一个tab下都有一个 下拉框,只是一个是多选一个是单选,问题是当切换tab标签的时候,下拉框的样式不会被清空. 解决方案: 只需要在 el-select 上加一个 key ...

  5. dotnet学习笔记-专题01-异步与多线程-01

    专题01 异步 多线程 1. Thread类 1.1 使用Thread创建线程 namespace ConsoleApp1; internal class Program { private stat ...

  6. Clickhouse之表函数

    remote, remoteSecure 允许访问远程服务器, 而无需穿件Distributed表, remoteSecure - 与 remote 相同,但是会使用加密链接. 语法: remote( ...

  7. Jx.Cms开发笔记(三)-Views主题动态切换

    效果展示 我们可以在后台动态切换主题 目前Jx.Cms有两个主题,其中一个是默认主题,另一个是仿的Blogs主题. 我们可以通过点击启用按钮来动态切换两个主题. 实现方法 首先写一个实现IViewLo ...

  8. Mybatis【10】-- Mybatis属性名和查询字段名不同怎么做?

    很多时候我们有这样的需求,数据库的字段名与实体类的属性名不一致,这个时候我们需要怎么做呢?有两种解决方案,第一种:直接在查询的时候使用别名,将别名设置成与实体类的属性名一致.第二种:使用resultT ...

  9. 【java基础】-- java接口和抽象类的异同分析

    在java中,通常初学者搞不懂接口与抽象类,这也是面试比较容易问到的一个问题.下面我来谈谈自己的理解.如有不妥之处,还望批评指正,不胜感激. 目录 1.抽象类怎么定义和继承? 2.接口怎么定义和实现? ...

  10. 分析Java值传递与引用传递

    背景 今天在公司做需求的时候,突然遇到了这个问题,八股文背过,但是又记不大清楚了.索性写下来,方便我这笨蛋脑子下次看. 解释 理解这个问题在于看它的角度(强调.加粗) 那我们开始,Java中一切都是值 ...