假如你有3个脚本都用到了用户名,如果是写死在脚本中,那么需要改变的时候,你需要修改3个地方,我们可以把用户名设为全局变量,在3个脚本中引用,需要修改时只要修改全局变量中的用户名值即可. 在Katalon Studio左侧菜单栏中,第一项就是全局变量,默认的一个文件名叫default.双击打开,可以在里面添加全局变量,依次填入变量名.变量类型.变量值.描述即可.如图我们加了一个字符串型的用户名变量.右击变量选择Show reference,还可以查看都有哪些脚本引用了该变量. 在编写用例时,有一行…
Katalon Studio升级到5.10版本了,这次新增了2个很实用的功能:一.跳过用例在Listener中新增了跳过用例方法,Listener类似于JUnit4的annotation中的@Before.@After.@BeforeClass.@AfterClass,python单元测试框架unittest中的setUp().tearDown(),不熟悉的同学可以先学个测试框架.跳过的使用在执行结果中的状态为SKIPPED,示例代码如下: 二.命令行赋值全局变量Katalon中的Project…
在一个Test Case里,点左上Add-Web UI Keyword,可以添加一行新的命令. 像Click.setText.Delay这些最基本的,大家还是看看官方的API文档吧,望文知义,如果是纯新手,可以先学学selenium的API,有网站也有书,都是中文的.介绍几个写用例时,逻辑中会用到的几个Keyword: 1.Wait For系列与Delay: Delay适用于定长时间的等待,比如点击添加按钮,立马弹出添加窗口,不需要与后端交互,也不用运行复杂的JS: Wait For系列适用不定…
最近准备把公司的系统搞上UI自动化,先是自己用Python+selenium+pytest写了一个框架,开始写case的时候发现效率极其慢.原因为: (1)开发为提高前端响应时间,使用前端路由技术,一个页面一次加载多个TAB,后台的TAB虽然不可见,但已加载并可定位到:亦或是前台的TAB虽然可见,但实际其中的元素不可见或不是在最上层,导致click失败: (2)前端使用VUE框架,element的tag.class.name等属性带有随机的数字,不便于定位: (3)自己写的xpath或css定位…
一.邮件报告Suite执行完后,严格来说这个不算报告,只是邮件通知执行结果,具体设置请看katalon系列三 二.文件报告Suite执行完后,会在项目文件夹下/Report/Suite Name/time/文件夹下生成csv格式.html格式.xml格式的报告文件,一般我们直接打开html格式的查看即可.如果有执行失败,会有具体的错误栈信息以及一张截图,方便追查问题.另外每次Suite执行完后,也会在项目文件夹下/Report文件夹下复制一份最新的报告,所以如果你有自动化相关的需求要获取每次最新…
经常看到有人问元素属性都相同,怎么定位,这里总结一下.下面以Xpath为例讲解,CSS其实也是一样的,只是语法不一样罢了.网上说CSS会比Xpath快一些,但在Katalon主用Xpath,感觉也还行.另外Katalon做为一个产品,他们选择主打Xpath,相信也是有原因的.当然了,也有极小可能他们的骨干对Xpath比较熟.Katalon也支持CSS,但不会像Xpath那样智能提示你多种自动定位语法. 想要定位的得心应手,首先要对Xpath语法了如指掌,可以看我之前的一篇文章:https://w…
原文:SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.具有使用 Microsoft Visual Studio 进行 Microsoft .NET Framework开发的经验. 4.具…
C语言高速入口系列(七) C语言指针进阶 本章引言: 在前面第5节中我们对C语言的指针进行了初步的学习理解;作为C语言的灵魂, C指针肯定没那么简单,在这一节中,我们将会对指针进行进一步的学习,比方二级指针, 指针数组,内存分配和const修饰指针常量等!以下就请大家尾随笔者的脚步,对 C指针神奇的一面进行进一步的解析吧! 本节学习路线图: 函数与指针: ①指针作为函数的形參: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29kZXJfcGln/f…
WCF编程系列(七)信道及信道工厂   信道及信道栈 前面已经提及过,WCF中客户端与服务端的交互都是通过消息来进行的.消息从客户端传送到服务端会经过多个处理动作,在WCF编程模型中,这些动作是按层 次进行的:上一层次对消息处理完成后,将消息传递给下一层次,依次类推.这里对应的每个层即为信道(我们可以理解为消息通道).而这一些列的信道层构成了 一个信道栈.明显的,信道栈中的最后一个信道应该是传输信道,该信道将处理后的消息发送给服务端或接受从服务端返回的消息应答,而在传输信道之上还有一系 列的协议…
oracle学习门户系列七 网络管理和配置 们学习了模式和用户.包含模式定义以及模式的作用. 这篇我么来看下ORACLE数据库中的网络管理和配置.只是这篇好像和上篇没有继承啊.这怎么看? Ok,事实上呢-..咳咳-..我们继续往下走 数据库的网络配置是比較基础可是也是很重要的.假设一个数据库连不上外部的世界:那么他就是一个孤立的资源,基本上就能够确认这是个无用的数据库系统. 我们在数据库定义中以前讲过,数据库是须要有多用户分享的,没有网络何来分享呢?对不正确.那肯定不是数据库了嘛. 前面摘要已经…
Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager) 本篇主要讲解iOS开发中的网络监控 前言 在开发中,有时候我们需要获取这些信息: 手机是否联网 当前网络是WiFi还是蜂窝 那么我总结一下具体的使用场景有哪些?肯定有遗漏: 聊天列表,需要实时监控当前的网络是不是可达的,如果不可达,则出现不能联网的提示 在线视屏播放,需要判断当前的网络状态,如果不是WiFi,应该给出流量播放的提示 对于比较重要的网络请求,在请求出错的情况下,判断网路状态,找出…
Callable.Future和FutureTask 前言:如有不正确的地方,还望指正. 目录 认识cpu.核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二)之对象变量的并发访问 java多线程系列(三)之等待通知机制 java多线程系列(四)之ReentrantLock的使用 java多线程系列(五)之synchronized ReentrantLock volatile Atomic 原理分析 java多线程系列(六)之线程池原理及其使用 Callable C…
java基础解析系列(七)---ThreadLocal原理分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer缓存及装箱拆箱 java基础解析系列(三)---HashMap原理 java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现 java基础解析系列(五)---HashMap并发下的问题以及HashTable和CurrentHashMap的区别 java基础解…
information_schema系列七   这个系列的文章主要是为了能够让自己了解MySQL5.7的一些系统表,统一做一下备注和使用,也希望分享出来让大家能够有一点点的受益. 第七篇主要看一下一下几系统表:PARAMETERS (定义参数),PARTITIONS(分区相关),PLUGINS(插件),PROCESSLIST(链接信息),PROFILING(优化相关,可以查看具体运行时间等信息) ,REFERENTIAL_CONSTRAINTS (外键约束相关信息),SCHEMATA(SCHEM…
介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字段标签,并根据用户的语言环境将文本更改为特定的语言. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列七:消息资源文件  即 http://www.cnblogs.com/linghaoxinpian/p/6911223.html 下载本章节代码 信息资源属性文件 在Struts2 we…
  摘要: 类似标签云的球状布局,也类似与魔方的3D布局 iOS流布局UICollectionView系列七——三维中的球型布局 一.引言 通过6篇的博客,从平面上最简单的规则摆放的布局,到不规则的瀑布流布局,再到平面中的圆环布局,我们突破了线性布局的局限,在后面,我们将布局扩展到了空间,在Z轴上进行了平移,我们实现了一个类似UIPickerView的布局模型,其实我们还可以再进一步,类比于平面布局,picKerView只是线性排列布局在空间上的旋转与平移,这次,我们更加充分了利用一下空间的尺寸…
Bing Maps进阶系列七:Bing Maps功能导航菜单华丽的变身 Bing Maps Silverlight Control所提供的功能导航是非常强大的,在设计上对扩展的支持非常好,提供了许多用户可扩展和直接使用的Command以及Button,不清楚的朋友可以查看我之前写的关于自定义功能导航条的文章<自定义功能导航条(Custom NavigationBar)>.但相比DeepEarth中提供的功能导航菜单没有那么粗大和动态效果,我个人而言比较喜欢DeepEarth中的功能导航菜单.首…
一.requests 简介 requests 是一个功能强大.简单易用的 HTTP 请求库,可以使用 pip install requests 命令进行安装 下面我们将会介绍 requests 中常用的方法,详细内容请参考 官方文档 二.requests 使用 在开始讲解前,先给大家提供一个用于测试的网站,http://www.httpbin.org/ 这个网站可以在页面上返回所发送 请求 的相关信息,十分适合练习使用 好了,下面正式开始! 1.get 方法 该方法用于向目标网址发送请求,接收响…
计算广告CTR预估系列(七)--Facebook经典模型LR+GBDT理论与实践 2018年06月13日 16:38:11 轻春 阅读数 6004更多 分类专栏: 机器学习 机器学习荐货情报局   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u010352603/article/details/80681100 计算广告CTR预估系列(七)–Facebook经典模型LR+GBDT理论与…
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401开发 Keil MDK STM32系列(三) 基于标准外设库SPL的STM32F407开发 Keil MDK STM32系列(四) 基于抽象外设库HAL的STM32F401开发 Keil MDK STM32系列(五) 使用STM32CubeMX创建项目基础结构 Keil MDK STM32系列(六)…
以下在WIN10上运行正常.安装准备:一.安装Katalon Studio二.安装Jenkins三.获取Katalon命令行运行命令:点击工具栏的‘Build CMD’按钮,选择测试集以及其他选项:选好后点‘Generate Command’即可生成命令,注意生成的命令要去掉-noExit和-consoleLog,以便CI日志可以直接显示在作业视图上.我这里生成的例子:katalon -runMode=console -projectPath="E:\work\code\katalon\rese…
Katalon Studio自带关键字“Drag And Drop To Object”,可以在这个网站实践:http://jqueryui.com/droppable/#default 不过“Drag And Drop To Object”是针对类似jQuery比较典型的框架,如果是HTML5的话,可能就不能执行成功.这时我们就可以使用Katalon Studio的Keywords功能,自定义一个HTML5的拖拽关键字. 1.右击左侧目录菜单中的Keywords--New--Package,输…
Katalon Studio自带集成了图片识别功能,有2个比较有用的图片识别相关的命令:Wait For Image Present和Click Image.这里重点讲下Click Image命令: 当你需要在浏览器里去操作非浏览器元素,比如IE的保存调的就是Windows的控件了: 当你无法定位某个元素,但其却有比较明显的图片特征时:   1.先截取你要定位的元素,比如我这里截图的是百度的LOGO     2.创建一个图片对象元素:右击左侧文件管理的Object Repository--New…
一.点击图1工具栏中的+号,选Test Case,新建一个用例. 图1 二.接着点图1录制按钮(地球上有个红点图标),打开的Web Recorder中URL输入百度的地址,浏览器选择Chrome,点击图2浏览器图标开始录制.后面的2个图标分别是暂停录制.终止录制.当有不想录进去的步骤时,可以点暂停录制. 图2 三.录制的操作流程为图3,点击百度首页右上角的登陆,点击‘用户名登陆’,输入用户名密码点登陆,在搜索栏输入关键字katalon,点搜索按钮,点击搜索结果的第一个链接. 图3 四.录制操作完…
上一篇主要讲了怎么录制脚本,这次我们看看怎么手动编写脚本,接下来就编写一个简单的用百度搜索的脚本. 1.我们先抓取页面上的元素,点击工具栏上的Spy Web按钮(地球上有个绿点),URL输入百度地址,点Start. 2.鼠标移动到输入栏,会高亮显示,且左上角显示其xpath,长按Alt+~抓取元素.抓取成功后元素会显示在Object Spy界面.如图1,我们可以在②③处编辑元素的名称和定位方式及内容,在④验证元素唯一 图1 3.接着我们在百度输入栏输入‘katalon’,并抓取‘百度一下’元素.…
Katalon Studio中也可以运行Windows命令执行一些系统操作. 根据官方文档,在test case中输入命令:cmd = 'del E:\\shot\\*.xlsx E:\\shot\\*.zip'Runtime.getRuntime().exec(cmd) 运行报错 网上搜到解决方案,修改cmd如下cmd = 'cmd.exe /c del E:\\shot\\*.xlsx E:\\shot\\*.zip' 运行成功 除了直接运行cmd命令,也可以执行.bat文件,代码示例如下…
一.下载文件1.下载文件时,需要先设置好Chrome/Firefox下载路径.不弹出下载框等,大家先学习下在selenium下如何设置:https://www.cnblogs.com/fnng/p/7700620.html 在Katalon中设置Chrome的DesiredCapabilities如图: 点击菜单Edit-Desired Capabilities-Web UI-Chrome,点击Add,名称输入prefs,类型选Dictionary,Value如下:profile.default…
Katalon Studio做为一个IDE,具有和其他IDE一样的Debug功能,可以让我们方便的调试代码.将脚本切换到Script模式,在你想设断点的行首双击,或右击选择:(Groovy)Toggle Breakpoint. 设完断点后点击Debug按钮(运行按钮右边的虫子图标),这时会有个弹框 点击确定,进入Debug模式 左上的那排是Debug工具栏,如果你从来没用过IDE的debug功能,可以先去网上搜下eclipse的debug教程,都是一样的.比较简单的使用方法就是按F6,执行一行命…
Katalon Recorder是和selenium IDE一样的一个浏览器插件,可以录制web上的操作并回放,但我个人感觉Katalon Recorder更好用.大家可以直接在chrome商店下载安装. 界面分四部分:1.Main Toolbar主工具栏,各个按钮没啥好说的,一看就会用吧.重点说下Export,可以将录制的脚本导出为各种语言的脚本:右侧指针图标,可以控制回放速度.录制的时候,如果某些步骤不想录制,可以点Pause按钮.如果你已经录制完了,想在已录制的脚本中再加一段操作,可以点击…
Katalon的常规方法是先抓取元素并保存到仓库,在脚本中需要用到的时候调取,但假如元素属性和个数是可变的,就不能事先保存到仓库了,需要在脚本运行时实时创建. 代码运行时实时创建一个元素对象的例子import com.kms.katalon.core.testobject.ConditionTypeimport com.kms.katalon.core.testobject.TestObjectimport com.kms.katalon.core.webui.keyword.WebUiBuil…