当前位置:网站首页>Katalon框架测试一个web页面操作实例代码
Katalon框架测试一个web页面操作实例代码
2022-06-28 10:19:00 【春天的菠菜】
页面操作元素就没有发出来,这里主要是为自己学习当中做经验沉淀
目录
一、源码
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testng.keyword.TestNGBuiltinKeywords as TestNGKW
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys
import com.kms.katalon.core.annotation.Keyword as Keyword
import org.openqa.selenium.WebElement as WebElement
WebUI.openBrowser('')
'这里使用了全局变量'
WebUI.navigateToUrl(GlobalVariable.url)
'最大化'
WebUI.maximizeWindow()
'输入账号,这里使用了全局变量'
WebUI.setText(findTestObject('Object Repository/login/input_username'), GlobalVariable.username)
'输入密码,这里使用了局部变量'
WebUI.setText(findTestObject('login/input_password'), password)
'点击登录按钮'
WebUI.click(findTestObject('Object Repository/login/button_login'))
WebUI.click(findTestObject('Object Repository/maintain/deptmanger/img_select_meter_system'))
WebUI.delay(2)
WebUI.getText(findTestObject('meter/home/span_meter_home_text'))
WebUI.verifyElementText(findTestObject('meter/home/span_meter_home_text'), '监控')
WebUI.mouseOver(findTestObject('maintain/deptmanger/link_system_menu'), FailureHandling.STOP_ON_FAILURE)
WebUI.click(findTestObject('maintain/deptmanger/link_chang_menu_level_maintain'))
WebUI.click(findTestObject('maintain/deptmanger/button_add_dept'))
WebUI.setText(findTestObject('maintain/deptmanger/input__add_dept_page_name'), '部门')
'保存'
WebUI.click(findTestObject('maintain/deptmanger/button_add_dept_page_save'))
WebUI.verifyElementText(findTestObject('maintain/deptmanger/span_msg'), '添加成功')
WebUI.delay(2)
'定义一个对象类'
WebElement element = WebUI.findWebElement(findTestObject('maintain/deptmanger/span_tree_add_dept'), 30)
WebUI.executeJavaScript('arguments[0].click();', Arrays.asList(element))
'点击修改按钮'
WebUI.click(findTestObject('maintain/deptmanger/button_alter_dept'))
WebUI.setText(findTestObject('maintain/deptmanger/input_dept_principal'), 'superman')
WebUI.click(findTestObject('maintain/deptmanger/button_alter_dept'))
WebUI.verifyElementText(findTestObject('maintain/deptmanger/span_msg'), '修改成功')
WebUI.click(findTestObject('maintain/deptmanger/button_delete_dept'))
WebUI.delay(3)
WebUI.click(findTestObject('maintain/deptmanger/button_confirm'))
WebUI.verifyElementText(findTestObject('maintain/deptmanger/span_msg'), '删除成功')
WebUI.closeBrowser()
二、重点说明
1、使用JS操作页面点击不到的元素
引用
import org.openqa.selenium.WebElement as WebElement主要为了,原因是点击不到元素对象,适应JS去点击
'定义一个对象类(查找新增的部门,在树上的位置)'
WebElement element = WebUI.findWebElement(findTestObject('maintain/deptmanger/span_tree_add_dept'), 30)
'选中新增的树上的部门'
WebUI.executeJavaScript('arguments[0].click();', Arrays.asList(element))2、鼠标悬停
'鼠标移动到计量管控系统的系统切换icon位置'
WebUI.mouseOver(findTestObject('maintain/deptmanger/link_system_menu'), FailureHandling.STOP_ON_FAILURE)边栏推荐
- Dear leaders, ask me if MySQL does not support early_ Offset mode? Unsupported star
- mysql数据库概述以及安装过程
- Install using snap in opencloudos NET 6
- Transactions proof in appliedzkp zkevm (10)
- 引入 flink-sql-mysql-cdc-2.2.1 好多依赖冲突,有解决的吗?
- 通过PyTorch构建的LeNet-5网络对手写数字进行训练和识别
- 错过金三银四,找工作4个月,面试15家,终于拿到3个offer,定级P7+
- As shown in the figure, the SQL row is used to convert the original table of Figure 1. Figure 2 wants to convert it
- An error is reported when uninstalling Oracle
- Summary of MySQL basic knowledge points
猜你喜欢

To enhance the function of jupyter notebook, here are four tips

Looking at jBPM from jbm3 to jbm5 and activiti
![[Unity]内置渲染管线转URP](/img/a5/3ae37b847042ffb34e436720f61d17.png)
[Unity]内置渲染管线转URP

As shown in the figure, the SQL row is used to convert the original table of Figure 1. Figure 2 wants to convert it

Idea failed to connect to SQL Sever

一款自动生成单元测试的 IDEA 插件,开发效率提升 70% 以上!
![[Unity]EBUSY: resource busy or locked](/img/72/d3e46a820796a48b458cd2d0a18f8f.png)
[Unity]EBUSY: resource busy or locked

增强 Jupyter Notebook 的功能,这里有四个妙招

学习机器学习的最佳路径是什么

fastposter v2.8.4 发布 电商海报生成器
随机推荐
【monkey】monkey测试入门
Fastposter v2.8.4 release e-commerce poster generator
【功能建议】多个工作空间启动时选择某个空间
Metersphere实现UI自动化元素不可点击(部分遮挡)
引入 flink-sql-mysql-cdc-2.2.1 好多依赖冲突,有解决的吗?
SQL中的DQL、DML、DDL和DCL是怎么区分和定义的
Correct conversion between JSON data and list collection
如何使用 DataAnt 监控 Apache APISIX
Katalon当中的使用循环for、while和if...else、break、continue
Teach you how to handle the reverse SVG mapping of JS
Summary of characteristics of five wireless transmission protocols of Internet of things
Why does istio use spirit for identity authentication?
【力扣——动态规划】整理题目1:基础题目:509、70、746、62、63、343、96(附链接、题目描述、解题方法及代码)
bad zipfile offset (local header sig)
Interface automation framework scaffolding - Implementation of parametric tools
生成token
Training and recognition of handwritten digits through the lenet-5 network built by pytorch
一种跳板机的实现思路
物联网无线通信应用中6种融合定位技术
Django database operation and problem solving