写过UI自动化测试脚本的朋友,相信都会遇到过,比如前端页面元素改了,又需要去改自己写的脚本,而且只能针对某个web页面的定制化设计,换个web项目就不灵了。
我就在考虑,为什么UI自动化框架就不能通用在不同的系统呢?然后针对这个,设计了现在的UI自动化测试框架,实现了简单的通用,每次只需要维护好用例就行了,维护成本降低。
大家都知道,基于selenium函数,对页面元素的操作,很多都是点击、输入参数、处理iframe、处理alert、下拉框动作这几类,然后语法基本是固定的。
那是不是可以针对这个情况,对操作类型进行一个封装,不管你要做什么操作,经过判断调用对应的方法就好了。
使用文档在testcase中
2023/8/3 21:25:24 2.21MB 通用UI自动
1
作者:胡彦本框架是一个lex/yacc完整的示例,用于学习lex/yacc程序基本的搭建方法,在linux/cygwin下敲入make就可以编译和执行。
本例子虽小却演示了lex/yacc程序最常见和重要的特征:*lex/yacc文件格式、程序结构。
*如何在lex/yacc中使用C++和STL库,用extern"C"声明那些lex/yacc生成的、要链接的C函数,如yylex(),yywrap(),yyerror()。
*重定义YYSTYPE/yylval为复杂类型。
*用%token方式声明yacc记号。
*用%type方式声明非终结符的类型。
*lex里正则表达式的定义、识别方式。
*lex里用yylval向yacc返回属性值。
*在yacc嵌入的C代码动作里,对记号属性($1,$2等)、和非终结符属性($$)的正确引用方法。
*对yyin/yyout重赋值,以改变yacc默认的输入/输出目标。
*如何开始解析(yyparse函数),结束或继续解析(yywrap函数)。
本例子功能是,对当前目录下的file.txt文件,解析出其中的标识符、数字、其它符号,显示在屏幕上。
linux调试环境是Ubuntu10.04。
总之,大部分框架已经搭好了,你只要稍加扩展就可以成为一个计算器之类的程序,用于《编译原理》的课程设计。
文件列表:lex.l:lex程序文件。
yacc.y:yacc程序文件。
main.hpp:共同使用的头文件。
Makefile:makefile文件。
file.txt:给程序解析的文本文件。
使用方法:1-把lex_yacc_example.rar解压到linux/cygwin下。
2-命令行进入lex_yacc_example目录。
3-敲入make,这时会自动执行以下操作:(1)自动调用flex编译.l文件,生成lex.yy.c文件。
(2)自动调用bison编译.y文件,生成yacc.tab.c和yacc.tab.h文件。
(3)自动调用g++编译、链接出可执行文件main。
(4)自动执行main,得到如下结果:。
bison-dyacc.yg++-clex.yy.cg++-cyacc.tab.cg++lex.yy.oyacc.tab.o-omainid:abcid:defghiint:123int:45678op:!op:@op:#op:$AllId:abcdefghi参考资料:《Lex和Yacc从入门到精通(6)-解析C-C++包含文件》,http://blog.csdn.net/pandaxcl/article/details/1321552其它文章和代码请留意我的blog:http://blog.csdn.net/huyansoft2013-4-27
1
通过hookwindows的鼠标消息,实现拦截以及模拟鼠标动作
2023/7/29 10:20:45 29.53MB hook 鼠标操作
1
代码实现了基本的功能,但是不全面。
题和代码都在文件里面!编码练习一列货运列车共有n节车厢,每节车厢将停放在不同的车站。
假定n个车站的编号分别为1~n,即货运列车按照第n站至第1站的次序经过这些车站。
为了便于从列车上卸掉相应的车厢,车厢的编号应与车站(目的地)的编号相同,使各车厢从前至后按编号1到n的次序排列,这样,在每个车站只需卸掉最后一节车厢即可。
所以,给定任意次序的车厢,必须重新排列它们。
可能通过转轨站完成车厢的重排工作,在转轨站中有一个入轨、一个出轨和k个缓冲轨,缓冲轨位于入轨和出轨之间。
开始时,n节车厢从入轨进入转轨站,转轨结束时各车厢按照编号1至n的次序离开转轨站进入出轨。
假定缓冲轨按先进先出的方式动作,因此可将它们视为队列,并且禁止将车厢从缓冲轨移至入轨,也禁止从出轨移至缓冲轨。
图1给出了一个转轨站,其中有3个缓冲轨H1,H2和H3。
要求:设计存储结构表示n个车厢、k个缓冲轨以及入轨和出轨;
设计并实现车厢重排算法;
分析算法的时间性能。
581742963---------H1-----------987654321---------H2----------入轨---------H3-----------出轨图1转轨站示意图
2023/7/23 17:16:56 596KB 编码练习题(车厢重排算法)
1
G-seriesLuaAPI参考文档V8.50G-seriesLuaAPI参考手册是一套使用Lua脚本编程语言描述并且为G-series系列游戏键盘提供高级脚本功能。
该文档是在假设您已初步掌握Lua脚本编程语言使用方法的前提下进行的。
如果您想了解更多信息请访问www.lua.org。
每项G系列的配置文件都有一个默认的Lua脚本与其绑定,并且您可以根据您的喜好随意编辑或者自定义。
该脚本借助并使用一个名为OnEvent的事件句柄。
用户可以通过检查此句柄中触发的各种事件以执行用户所希望的动作。
2023/7/17 23:34:33 515KB lua logitech Hong 罗技鼠标宏
1
单目测距是利用一个摄像头进行视频拍摄,在图像中找到待测物体。
这一系列动作,涉及到了物体的识别,相机的结构,坐标变换的一些知识,距离的获取是一个很广泛的课题,用摄像头来测距是其中一个方向,包括单目测距、双目测距、结构光测距等方法。
2023/7/15 15:34:33 4KB 机器视觉
1
近年来,随着ios和android系统对于动效设计的带动效应,多数产品对于动效设计也越来越重视,从app引导页到动作反馈,从官网介绍到hover效果,动效设计似乎已经成为一个成功产品的标配。
但是动效也不是越绚丽越好,过于绚丽的动效对于我们的设计目标来说也许会适得其反,用户可能只关注到了动效本身,而没有精力或时间去关注动效要传达的信息,而如何把握这个度,本文会从以下几个方面来讲。
从看到一个页面的瞬间开始,如果在展示面积相同的情况下,用户的注意力会按照一个特定的顺序依次被吸引:动态>颜色>形状。
简单来说,当用户打开一个界面,注意力首先会被动态的物体吸引,当动态静止或者是个很有规律的动态时,注意力会
2023/7/12 13:40:39 501KB 从注意力维度谈动效设计
1
《机器人手册第1卷机器人基础》共分两篇,分别为机器人学基础和机器人结构。
  机器人学基础篇介绍了在模型、设计和控制机器人系统过程中用到的基本原则和方法,包括运动学、动力学、机构与驱动、传感与估计、运动规划、动作控制、力控制、机器人体系结构与程序设计、机器人智能推理方法。
这些主题将被拓展和应用到特殊的机器人结构和系统中。
  机器人结构篇既阐述了机器人的性能评价与设计标准、模型识别,又介绍了运动学冗余机械臂、并联机器人、具有柔性元件的机器人、机器人手、有腿机器人、轮式机器人、微型和纳米机器人的结构。
探讨了在实际物理实现过程中的设计、模型、运动计划和控
2023/7/8 21:57:45 88.49MB 机器人
1
WEB标准提倡结构、表现和行为相分离,现在越来越多采用这种表现和行为的方式,但它也为我们开发调试带来一些问题,网页载入一堆JavaScript,,我们很难搞清楚最后在哪些元素的哪个动作绑定了事件,尤其是JavaScript加载事件的方式五花八门,可以透过jQuery、element.click=function(){}、element.addEventListener()…,很难由单一处找出所有事件。
而理不清事件来龙去脉,要追踪某个点击动作背后的行为就变得有些困难,直到我们遇到chrome的插件VisualEvent。
2023/7/8 0:29:58 5KB Chrome Visual Event
1
使用WebBrowser控件时,在打开https安全链接时,可能会弹出"安全警报"(SecurityAlert)窗口让用户确认.用户只有点击"是(&Y)"才能正常打开网页.这是多余操作.解决方法:定时监视是否有窗口弹出,如果有,获取窗口句柄,再获取窗口中的按钮"是(&Y)"或"否(&N)",模拟点击动作,自动点击"是(&Y)",打开页面.以中国铁路购票网站为例:https://www.12306.cn/mormhweb/
2023/7/3 23:48:42 667KB WebBrowser Https 安全警报 Security
1
共 329 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡