51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8416|回复: 1
打印 上一主题 下一主题

sikuli函数、简单事件操作个人总结笔记

[复制链接]
  • TA的每日心情
    无聊
    5 小时前
  • 签到天数: 528 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2019-1-7 15:22:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 测试积点老人 于 2019-1-7 15:33 编辑

    其实sikuli的语法跟python的语法是一样的,大家在学习sikuli时,要看看python的语法,这样就能有更多样的方法来实现丰富的功能。

    由于关于sikuli的中文资料实在太少了,我在学习使用sikuli的过程中,记录下下面一些常用操作,以供sikuli学习者参考!


    1、findAll(图片)


    findAll() searches the entire screen for all the matchingvisual patterns and returns a list of locations of those similar patterns. Thiscapability allows us to obtain all the checked items are on the screen. Then,we can simply write a for loop in standard Python syntax and call click() oneach element in the list.



    典型例子:Uncheck AllCheckboxes



    2、点击操作


    click(x)

    左键点击元素x

    rightClick(x)

    右键点击元素x


    3、below()



    4、dragDrop()

    This function takes two images asarguments. The first image describes the source GUI object to drag and thesecond image describes the appearance of the destination location where the GUIobject should be dragged to and dropped.



    典型例子:Working with Sliders


    5、right()


    表示在右边



    6、popup(string)


    弹出一个提示框


    例:

    popup("Obama has updated his message")

    运行:


    7、键盘操作:



    8、Resizinga Window


    This tutorial demonstrates how to use Sikuli script to resize a window by dragging its bottom-right corner.

    In order to do so, you have to evaluate the current position of this corner on the screen,

    move the mouse pointer to the applicable click point and then perform one or more drag actions.




    9、表示方位的词
    Nearby(number)、above()、below()、left()、right()、getCenter()

    10、位置偏移

    Location(t.x-30,t.y+30)

    其实用图形法会方便和舒服:

    点击图片,进入设置界面,点击偏移选项卡,然后可以用鼠标设置偏移量.点到哪就偏移到哪,如果想偏移到更远的地方,就滚动鼠标滑轮,可以放大缩小页面,选择偏移点。

    11、屏幕翻页



    12、读写文件

    (其实就是python的语法)

    #打开 写文件

    f=open('c:/wy.txt','a')

    t="hello\n"

    f . write(t)

    f.close()


    #打开 读文件

    f=open('c:/wy.txt','r')

    t=f.read()

    popup(t)


    #open(路径+文件名,读写模式)

    #读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式



    13、input(“字符串”)


    显示一个输入框,以供输入。要输入中文应该在前面加u

    即input(u“字符串”),不然会乱码


    14、if语句


    If 条件 and 条件:#(注意有冒号,‘#’号表示注释)

           语句



    15、openApp(应用程序路径名)   


    打开应用程序,注意应用程序的路径名里的斜杠“\”要改为双斜杠“\\”。



    16、复制、粘贴操作


    type("c",KEY_CTRL)  #复制

    type("v",KEY_CTRL)  #粘贴



    17、waitVanish("20120902172907.png",300)


    waitVanish()最好带时间,不然还没消失就返回消失的信息了。

    我觉得用下面的代替好些

    while exists("image.png"):
         wait(1)   #ifthe image exist it will wait until the image disappear


    18、sikuli输入中文


    input(u"请输入想要获取并下载多少个页面的App资源:")

    popup(u”chinese”)

    在前面加‘u’避免乱码,‘u’是unicode还是utf8,我就不清楚了。


    19、设定循环次数


    for x inrange(10): #循环10次,x不用预先定义

           循环体


    20、编程小经验


    1、用sikuli编程的时候,最好是保存为可执行文件来测试,因为有些功能直接测试是测试不出来的,比如type("c",KEY_CTRL)  #复制,直接运行测试(好像)是无效的,当时我还困惑了很久。

    后来无意中保存为可执行文件后才发现是可以的。


    2、用sikuli编程时,多用wait()语句,因为很多时候没有给它一定的识别时间,就容易出错。

    还有的就是,进行复制粘贴操作时,如果需要切换到另外一个页面粘贴,再切回来,如果中间不wait一段时间,等粘贴完成,很可能就没有粘贴成功。


    以上是个人的经验之谈,希望对大家有所帮助!






    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-18 15:39 , Processed in 0.068995 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表