精华内容
下载资源
问答
  • LDTP

    万次阅读 2013-07-28 17:30:33
    http://ldtp.freedesktop.org/wiki/ Cross Platform GUI Test Automation tool Linux version is ...LDTP, Windows version is Cobra and Mac version is PyATOM. Linux GUI testing is known to work o

    http://ldtp.freedesktop.org/wiki/

    Cross Platform GUI Test Automation tool Linux version is LDTP, Windows version is Cobra and Mac version is PyATOM.

    • Linux GUI testing is known to work on GNOME / KDE (QT >= 4.8) / Java Swing / ?LibreOffice / Mozilla application on all major Linux distribution
    • Windows GUI testing is known to work on application written in .NET / C++ / Java / QT on Windows XP SP3 / Vista SP2 / Windows 7 / Windows 8
    • Mac GUI testing is known to work on OS X Snow Leopard/Lion/Mountain Lion. Where ever ATOMac runs, LDTP should work on it

    The GNU/Linux Desktop (GUI Application) Testing Project (GNU LDTP) aimed at producing high quality test automation framework and cutting-edge tools that can be used to test and improve the GNU/Linux or Solaris desktops. It uses the Accessibility libraries to discover through the application's user interface.

    Supported OS

    GNU LDTP is a GNU/Linux / Unix GUI application testing tool. It runs on GNU/Linux, Windows, Mac, Solaris, FreeBSD, NetBSD and Embedded environments (Palm source).

    Supported application

    As of now, GNU LDTP can test any GNOME-based GUI applications, which are accessibility-enabled, Mozilla, Openoffice.org, any Java application (should have a UI based on swing), KDE 4.x applications based on QT 4.8, Windows applications. LDTP can be used to perform functional, regression testing, so on.. of GUIs built out of the above mentioned GNOME, KDE, Windows and Java technologies.

    Supported language

    If you are a LDTP beginner, we recommend you to read the GNU LDTP Tutorial PDF

    Credit

    VMware open sources Cobra - Windows version of LDTP works on Windows XP SP3 / Vista SP2 / Windows 7 SP1 / Windows 8.

    We encourage you to join the project and help us to create a robust, reliable and stable test tool/framework for Windows/Linux/Mac Desktops. Thanks to GNOME Accessibility team and Microsoft Accessibility team for their great work and their continuous support.

    News Features Binary / Source download GIT Documentation
    HOWTO ?FAQ Bugs ?Mailing list / IRC Projects using LDTP LDTP Demo
    Object-Oriented LDTP TeamMembers Planet LDTP Google SoC ?Platforms LDTP TODO
    Contribute LDTP forum Companies using LDTP      

    This wiki is undergoing conversion. If you have a fd.o shell account, you can help!


    展开全文
  • 户外LDTP 介绍 我们很高兴地介绍 Alfresco LDTP 库 (IN Progress):一个基于 Java 的自动化套件,它将支持 Alfresco 桌面应用程序的 GUI 测试(Windows 和 MAC)。 在我们的开源解决方案中,我们使用了以下存储库:...
  • LDTP 是目前最好的跨平台GUI测试工具。 为什么? 因为它可以在Linux,Windows,OS X,Solaris,FreeBSD,NetBSD和Palm Source上运行。 非常感谢您的反馈,请发送电子邮件至 。 LDTP运行 要求 DE要求 GNOME版本-最低...
  • import atomac.ldtp as ldtp print (ldtp.guiexist ('foo', 'bar')) </code></pre> <p>Unfortunately I get this: <pre><code> Traceback (most recent call last): File "<string>&#...
  • <div><p>I am trying to run LDTP on my mac OS X machine. I have enabled accessibility and disabled SIP . <p>I get the following error when running getwindowlist(): <p>Fault: :Error retrieiving ...
  • ubuntu 16.10 如何安装ldtp

    千次阅读 2017-08-30 10:47:41
    sudo apt-get install ldtp验证ldtp 在python命令行>>> import ldtp >>> from ldtp import * >>> guiexist('-gedit') 0但是报错:/usr/local/lib/python2.7/dist-packages/ldtpd/core.py:29: PyGIWarnin

    很简单

    sudo apt-get update
    sudo apt-get install ldtp

    验证ldtp
    在python命令行

    >>> import ldtp
    >>> from ldtp import *
    >>> guiexist('-gedit')
    0

    但是报错:

    /usr/local/lib/python2.7/dist-packages/ldtpd/core.py:29: PyGIWarning: Wnck was imported without specifying a version first. Use gi.require_version('Wnck', '3.0') before import to ensure that the right version gets loaded.
      from gi.repository import Wnck as wnck

    解决方法:
    那就到/usr/local/lib/python2.7/dist-packages/ldtpd/core.py代码的29行改一下,在第二十九行之前加一句代码

      import gi
      gi.require_version('Wnck', '3.0')

    结果,代码如下图所示

    try:
      # If we have gtk3+ gobject introspection, use that
      import gi
      gi.require_version('Wnck', '3.0')
      from gi.repository import Wnck as wnck
      from gi.repository import Gtk as gtk
      from gi.repository import Gdk as gdk
      wnckModule=gtk3=True
    展开全文
  • <p>I use the ldtp like this: 'from atomac.ldtp import *'.Firstly I launch the web browser,then I use the method 'settextvalue' to set the url in the location field. At last, as the ...
  • 对于 web 自动化,我们用 Selenium, 但是对于 windows 控件,我们可以使用 LDTP。首先,需要引用的 jar 包。CobraWinLDTP-3.0.0.msi (这个是需要安装的,安装到 C:\Program Files (x86)\VMware\CobraWinLDTP...

    LDTP doc: 

    https://ldtp.freedesktop.org/user-doc/

    对于 web 自动化,我们用 Selenium, 但是对于 windows 控件,我们可以使用 LDTP。

     

     首先,需要引用的 jar 包。

     

    CobraWinLDTP-3.0.0.msi (这个是需要安装的,安装到 C:\Program Files (x86)\VMware\CobraWinLDTP, 而核心的文件就是
    CobraWinLDTP.exe。也就是它真正操作了 windows 控件。) 
    commons-codec-1.6.jar
    commons-logging-1.1.2.jar
    LDTP.jar
    ws-commons-util-1.0.2.jar
    xmlrpc-client-3.1.3.jar
    xmlrpc-common-3.1.3.jar
     

     

    上面第一个是安装 vmware 的 LDTP。

    Ldtp不需要安装 python,也不需要安装 jep,它只需要外部有 CobraWinLDTP.exe,并按照 client-server 的方式工作。ldtp.jar是client,先通过启动进程的方式运行CobraWinLDTP.exe,然后通过xmlrpc协议,把java的命令变成调用CobraWinLDTP.exe的命令,从而可以识别控件、操纵控件

     

    (对,java调用pywinauto时,需要依赖jep这个桥梁来把java的命令变成python端的,jep就是负责传递命令的)

     

    由于 CobraWinLDTP.exe 是 server 端,所以先需要在命令行中启动 CobraWinLDTP.exe。

     

    然后看代码:

     

    package ldtp;

    import com.cobra.ldtp.Ldtp;

    public class TestLdtp {
        public static void main(String[] args) {
            Ldtp ldtp = new Ldtp("abc");
            String[] wins = ldtp.getWindowList();
            for (String win : wins)
            {
                System.out.println(win);
            }
        }
    }
    ====打印结果====

     

     

    paneTaskbar
    frmEclipse SDK
    frm?????? - ??? - Mozilla Firefox
    frmNew Tab
    frmWeChat
    frmD:\EclipseSpaceNew\LdtpTestNew\lib
    frmC:\Program Files (x86)\VMware\CobraWinLDTP
    frmAdministrator: Command Prompt - CobraWinLDTP.exe
    frmUntitled - Paint
    lst0
    paneProgram Manager

     

    上面代码中的 "abc" 是随便一个名字。这段代码可以打印出所有的 frame。然后你找到你需要的,就可以继续操作了。

     

    下面是打开 notepad 后一些操作的代码

     

    package ldtp;

    import com.cobra.ldtp.Ldtp;

    public class TestLdtp {
        public static void main(String[] args) {
            String winStr = "frmUntitled - Notepad"; //Open Notepad first please
            Ldtp ldtp = new Ldtp(winStr);
            String[] wins = ldtp.getWindowList(); //Print all windows
            for (String win : wins)
            {
                System.out.println(win);
            }
            ldtp.activateWindow(winStr);
            System.out.println("=================");
            String[] objects = ldtp.getObjectList(); //Print all objects
            for (String ob : objects)
            {
                System.out.println(ob);
            }
    //        ldtp.click("mnuView"); //This can click the View menu
            ldtp.selectMenuItem("View;Status Bar"); //Click View > Status Bar
            ldtp.appendText("txtTextEditor", "hello allen");
        }
    }

     

     

    ====打印结果====

     

     

    paneTaskbar
    frmEclipse SDK
    frmUntitled - Notepad
    frm?????? - ??? - Mozilla Firefox
    frmNew Tab
    frmslc12dkq-16-2012-OBIEEServer - Remote Desktop Connection Manager v2.2
    frmD:\sw\UIAVerify2.0_x86
    frmNow Playing
    frmAdministrator: Command Prompt - CobraWinLDTP.exe
    frmD:\00????
    pane1
    pane2
    paneChatContactMenu
    lst0
    paneProgram Manager
    =================
    txtTextEditor
    uknVertical
    btnLineup
    btnLinedown
    uknHorizontal
    btnColumnleft
    btnColumnright
    ukn2
    ukn3
    lbl0
    lblLn1,Col1
    ukn4
    mnuSystem
    mnuSystem1
    btnMinimize
    btnMaximize
    btnClose
    mnuApplication
    mnuFile
    mnuEdit
    mnuFormat
    mnuView
    mnuHelp
     

     

    转载于:https://www.cnblogs.com/backpacker/p/10945514.html

    展开全文
  • LDTP帮助文档翻译版

    千次阅读 2013-08-21 11:51:27
    LDTP安装: • 源码形式ldtp软件安装    下载 $gitclone git://anongit.freedesktop.org/git/ldtp/ldtp.git  安装 $./autogen.sh --prefix=/usr;make,然后su登录root用户 $make install • 二进制形式...
    LDTP安装:
    • 源码形式ldtp软件安装
     
      下载   $gitclone git://anongit.freedesktop.org/git/ldtp/ldtp.git
      安装   $./autogen.sh --prefix=/usr;make,然后su登录root用户  $make install

    • 二进制形式ldtp
      下载  http://download.opensuse.org/repositories/home:/anagappan/Fedora_10/i386/
       安装   $rpm -i<包的名称>

    下载LDPT帮助文档: LDTP Tutorial PDF/ODF

    LDTP的结构和原理

    LDTP整体结构图
    LDTP帮助文档翻译版
          测试脚本       LDTP客户端      LDTP引擎      AT-SPI Layer   Application under test


    LDTP内部构造:

    LDTP的客户端通过LDTP命令转换协议(LDTPCTP)和LDTP引擎交互。现阶段我们是用嵌入python语言实现的LDTP命令转换协议,将来可能还会有基于mono/java/perl版本的。客户端和服务端的交互是以XML形式进行的。

    大多数的LDTP命令需要两个参数,第一个是将要操作什么样的窗口,第二个是在设定的窗口里将要操作的对象
    例如:click ('*-gedit', 'btnNew')
    这个click操作将在一个开启了*-gedit (regexp)的窗口中进行,窗口中有一个名为“New”的对象,其类型为“pushbutton”

    LDTP帮助文档翻译版

    服务端:

    当一个测试脚本开始执行时,LDTP客户端将会使用AF_UNIX / AF_INET建立一个与LDTP引擎的连接

    客户端处理器:
    一旦来自脚本的命令被执行,客户端就会构建XML数据并发送到服务端。LDTP引擎解析从客户端发来的请求,调用相应的组建处理器

    组件处理器:
    每个组件处理器通过AT-SPI仓库与各自相关的应用程序通信,它们会根据执行的情况,返回成功或失败(以XML格式)给客户端。在某些情况下,组件处理器会将索求的数据返回给客户端,这取决于客户端发出的是何种请求,比如:gettextvalue

    事件处理器:
    为了处理一些意外出现的窗口,比如连接超时的重置窗口,可以通过事件处理器为这样的窗口指定一个召回函数。只要这个被登记的窗口出现了,就算是处于非意外的情况下,相应的召回函数都会被调用。

    记录器:
    记录执行的状态(采取XML格式)

    LDTP的惯用表达规则

    Appmap[ApplicationMap]以文本的方式表述被测试的图形用户界面。所有的UI操作,即按钮、文本框等,都按照Appmap已经设定好的规则来表述,并附加上它们的父UI对象的信息。运行时,我们就可以通过Appmap来获取特定的UI操作。
    Appmap预设规则列表见LDPT的pdf帮助文档的第11~13页

    如何从脚本获取UI对象

    两个要素:窗口名称对象名称

    窗口名称

    > 窗口的不同类型:
    1. Frame (frm)
    2. Dialog (dlg)
    3. Alert (dlg)
    4. Font Chooser (dlg)
    5. File Chooser (dlg)
    6. Window (这种类型的窗口一般没有相关标题,所以我们需要通过索引 -dlg来表述它 )

    > 表达式:
    窗口标题可以用表达式的形式,以*和?号来取代一定的字符,如*-gedit'表示标题以-gedit结尾的窗口

    > 表述窗口名称的不同方式:
    1.窗口类型和窗口标题(如:'frmUnsavedDocument1-gedit')
    2.窗口标题(如:'Unsaved Document 1 - gedit')
    3.窗口类型,窗口标题表达式 (如: 'frm*-gedit',或'frmUnsavedDocument1*')
    4.窗口标题表达式 (如: '*-gedit')
    5.窗口类型,窗口标题和索引(如:若有两个标题相同的窗口,一个为'dlgAppoinment',另一个则为'dlgAppoinment1')
    6.窗口类型和索引(如:'dlg0',仅在窗口没有任何可用标题的情况下)

    > 窗口名称的格式:
    窗口标签里出现空格或转行字符会被过滤,例如
    1.'Unsaved Document 1 – gedit', 将被转换成'UnsavedDocument1-gedit'
    2. 'Unsaved Document 1
        -
       gedit', 将被转换成'UnsavedDocument1-gedit'

    对象名称

    1>.对于menu / menu item / push button /toggle按钮类,一般来说,我们通过它们的标签来获取,如:
    mnuFile (gedit menu)
    mnuNew (gedit menu item)
    btnNew (gedit tool bar, push button)
    tbtnLocation (gedit Open File dialog, toggle bar control)

    2>.对于text / tables/ check box / radio button / spin button /combo文本框类,一般来说,我们只能通过它们的相关标签来获取,如:
    txtLocation (gedit Open File dialog, text control)
    tblFiles (gedit Open File dialog, table control)
    cboSearchfor (gedit Find dialog, combo box control)
    chkMatchcase (gedit Find dialog, check box control)
    sbtnRightmarginatcolumn (gedit Preferences dialog, spin buttoncontrol)

    3>.而对于既没有标签又没有相关标签的对象,我们通过索引来获取,如:
    txt0 (gedit text rendering region)
    ptl0 (gedit Preferences dialog, page tab list control)
    ptl0 (In gedit when more than one files are opened, a page tab listcontrol will be available)

    4>.对于在一个窗口中多次出现的对象,我们可以在它们的名称里加上索引来获取,如:
    btnAdd – First push button control with label Add
    btnAdd1 – Second push button control with label Add
    btnAdd2 – Third push button control with label Add

    对象名称的格式
    对象名称里出现的空格、点、冒号、下划线以及转行字符会被过滤,例如:
     Search for:' 将被表述成 'Searchfor'
    'File name 'a_txt' already exist.
    Replace' 将被表述成 'Filename'atxt'alreadyexistReplace'.

    AT-SPI(accessibilitylibraries)
    我们需要启用gnome控制中心下的辅助技术(AssistiveTechnology),通过它我们可以得到应用程序的信息和状态。

    导入LDTP模块
      from ldtp import *
      from ldtputils import *
    我们以如上的方式而不是以'importldtp'导入的原因在于,这样我们就能直接使用ldtp功能的名称来调用它们,不然我们就得这样调用-ldtp.<fuction name> 。
    示例 1:
        from ldtp import *
        selectmenuitem ('*-gedit', 'mnuFile;mnuNew')
    示例 2:
        import ldtp
        ldtp.selectmenuitem ('*-gedit', 'mnuFile;mnuNew')

    调用函数执行操作:

    为了选中一个菜单,我们需要使用selectmenuitem命令,例如,使用如下的命令选中gedit的打开菜单:
    selectmenuitem ('frmUnsavedDocument1-gedit','mnuFile;mnuOpen')

    此命令会弹出一个新的对话框,这时你可以通过guiexist (验证窗口存在否)或 waittillguiexist(缺省设定为等候30秒来确认窗口的存在与否)来判定此窗口是否是被打开的

    如果想要获取窗口中一个按钮,我们需要使用click命令

    如果我们修改了一个用gedit打开的文件,此文件的标题也将会被改变。为了继续控制窗口,我们可以使用setcontext 命令,不再需要时使用 releasecontext

    编辑打开的文件使用:
    • settextvalue ('frmUnsavedDocument1-gedit', 'txt0', 'Testingediting')

    之前标题是 'Unsaved Document 1 - gedit' ,经过settextvalue后,标题将会变成'*Unsaved Document 1 - gedit'。如果我们还是想延用以前的窗口名称 ,使用:
    • setcontext ('Unsaved Document 1 - gedit', '*Unsaved Document 1 -gedit')
    这样的话我们就能继续使用同样的窗口名称,例如:
    • selectmenuitem ('frmUnsavedDocument1-gedit','mnuFile;mnuSaveAs')
    这个命令将会激活一个保存文件的对话框

    LDTP的应用程序接口
    已实现的LDTP API列表

    LDTP具体操作示例见操作手册第18~36页

    召回事件处理
    当一个给定标题的窗口被创建时,我们可以给它指定一个召回事件。这样我们可以很简地处理掉意外出现的窗口,帮助手册第37页有一个很详细的例子

    数据xml文件

    xml文件保存了脚本在运行时要求的输入数据。

    使用LDTP数据XML的优点
    • 分离脚本和数据,实现复用
    • 只需编写脚本一次,根据需求构造数据XML
    • 某些回归测试我们只需要一个脚本和多个数据XML文件
    • 选择XML格式的原因在于它很容易被解析

    数据XML的标签
    • data -完整的XML是被包裹在<data>和</data>标签里的
    •<用户定义的标签>-用户定义的标签可以出现多次,伴有用户定义的取值。如果使用LDTP工具XML解析器,用户定义标签的取值将会以列表的形式返回,我们可以以索引来使用它。列表的索引从0开始

    语法
    LdtpDataFileParser('[XML Filename]')
    LdtpDataFileParser类以XML的文件名为可选参数,它还提供了两个函数
    ● * setfilename ('[XML Filename]').如果LdtpDataFileParser类没有带参数,那么应该调用这个函数
    ● * gettagvalue ('tag name'). 取得提供的标签的值
    例子:
    Example 1
         addr_book = LdtpDataFileParser ()
         addr_book.setfilename ('evolution-ab.xml')
         addr_book.gettagvalue ('AddressbookType')
    Example 2
         addr_book = LdtpDataFileParser ('evolution-ab.xml')
         addr_book.gettagvalue ('AddressbookType')

    XML文件的例子:
    <data>
      <AddressbookType>On ThisComputer<AddressbookType>
      <AddressbookName>LDTP-AB</AddressbookName>
    </data>

    ldtprunnerXML文件

    ldtprunnerXML文件的作用是通过把相关的脚本和对应的数据xml文件纳入一个集合,一次执行。如果其中的一个测试脚本失败了,则余下的脚本将不再执行。

    使用LDTP数据XML的优点
    • 相关测试脚本置于同一个目录下
    • 在一个组里,当下在运行的脚本失败后,剩下未运行的脚本将会被跳过,ldtprunner将会执行下一个组
    • 每个脚本可以把可选的data XML文件当作参数
    • 同一个脚本对应不同data XML文件可以运行多次
    • 脚本可以以任何顺序组合,脚本按照此顺序执行

    ldtprunner的标签 (#表示为可选项)
    • ldtp -完整的XML是被包裹在<ldtp>和</ldtp>标签里的
    • logfileoverwrite# - 取值0(添加到已有的日志文件)或1(覆盖重写)
    • logfile - 文件名,即日志文件将写入何处。日志文件是以XML格式生成的。最好输入文件的绝对路径。
    • appmapfile# - 可选的文件名映射。此标签只对向后兼容的可用,不推荐使用 ???
    • category# - 一个目录可以包含一个或多个组。同一目录下所有组的成员都会按一顺序执行。
    • group -一个组可以包含一个或多个脚本。组里所有脚本将会按某一顺序运行。分组的目的是为了当一个脚本运行失败时,整个组可以跳过。
    • testcaseid - 一个组有一个testcase id。如果可以,此id会作为日志文件的一部分被记录下来
    • comment - 脚本的注释,不会被日志文件记录
    • script - 脚本包含一个脚本文件名和可选的数据文件名
             • name - 脚本文件名
             • data# - 数据文件名(数据文件的内容为xml格式)
    以下为生成ldtprunner XML时的建议
    •  选择用ldtprunner XML初始化的日志文件
    •  选择日志文件重写选项

    ldtprunner XML 文件的例子:见帮助手册第41~42页

    如何执行LDTP脚本

    确认在你当下的工作目录里有如下文件:
       •  可执行的测试脚本
       •  data XML - 可选
       •  ldtprunner XML - 可选
       • 确认ldtp,ldtprunner,ltfx(可选),digwin(可选),ldtprecord(可选)已安装

    调用 ldtprunner XML
        $ ldtprunner<ldtprunner XML>
       Example
           ldtprunner test-runner.xml

    调用python脚本
        $ python<script file name.py>
       Example
          python gedit.py

    展开全文
  • Linux GUI自动化测试工具 -- LDTP

    千次阅读 2020-09-01 09:05:44
    目录 1. 背景 2. 环境 3. 安装和使用 ...GNU LDTP(Linux Desktop Testing Project) 是一个 GNU/ Linux/ Unix 下的 GUI 应用测试工具。支持系统包括:FreeBSD/ Fedora/ Mac/ OpenSUSE/ OpenSolaris/ Wi
  • <p>I am having difficulties using atomac.ldtp when I try to click on an existing object. getobjectlist() returns a list of objects where I can see the object I want to click on, then, when I use click...
  • 使用LDTP测试桌面云产品 由于最近工作需求,需要测试linux(client)上的桌面云产品,因此将之前的windows平台的测试脚本移植到linux平台。 在解决了一大堆依赖的问题后,重写了linux端的log和dmp的收集方法后,终于能...
  • 表情识别LDTP算法(Local Directional Ternary Pattern for Facial Expression Recognition TIP 2017) 1.表情识别流程 2.研究背景 根据提取对象的不同,可以分为静态方法和动态方法。 1)静态图像的特征提取...
  • 主机和虚拟机之间的拖拽是一个常用功能,比如VMware Workstation, VMware Horizon View 的用户都可以通过拖拽实现主机和虚拟机之间的文件拷贝。...LDTP 是我常用的UI自动化测试框架,因此主体的对象识别操作都是用...
  • http://www.docin.com/p-116903687.html   http://blog.sina.com.cn/s/blog_63c7b0330100h30z.html http://ldtp.freedesktop.org/wiki/    
  • <div><p>Hello <p>The selectmenuitem() method in the menu,py module of ldtpd does not seem to work as expected. <p>All the APIs in this module seem to work when it comes to listing down the submenus, ...
  • 一.安装ubuntu14.04LTS  安装ubuntu系统的教程网上很多,此处不再赘述。  由于ubuntu自带的输入法不太好用,就安装了google...">>>>from ldtp import * >>>guiexist('*-gedit')
  • LDTP(Linux Desktop Test Project)摘要

    千次阅读 2011-12-14 09:32:14
    Linux Desktop Testing Project - LDTP TABLE_CELL tbl TABLE_COLUMN_HEADER tch TABLE_ROW_HEADER trh TEAROFF_MENU_ITEM tmi TERMINAL term TEXT txt TOGGLE_BUTTON tbtn TOOL_BAR tbar ...
  • pyatspi-2.2.1.tar.bz2

    2013-08-06 12:12:04
    安装ldtp所依赖的包,这是第一个要安装的包,没有他ldtp安装不了在liunx环境中
  • <p>I have MAC system previously running 10.10 version and i have installed the ldtp on it. I was able to access all the UI elements of our application and working fine. Recently i have updated the MAC...
  • LDTP 适用于 Windows/Linux/Mac/Solairs/FreeBSD/NetBSD/Palm Source,是的,它的跨平台 GUI 测试工具。 请与我们分享您的反馈()。 Linux 众所周知,GUI 测试适用于所有主要的 Linux 发行版: GNOME KDE (Qt >= ...
  • t think this is a pyatom/ldtp problem. When the security dialogue appears form the installer and a user enters some text into the password box you cannot 'cancel' that dialogue from ptatom/...
  • 8 Open Source Test Automation Tools for Desktop Applicationswritten in WinForms/ WPF: Tool Comment AutoIt 模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务 ...LDTP(Linux Desktop ...
  • Add Accessible names

    2020-12-30 06:15:30
    m experimenting with some automated testing (using LDTP) and it would help a great deal if some of the widgets have predictable names/identifiers in the GTK widget tree. The way this is achieved is ...

空空如也

空空如也

1 2 3
收藏数 42
精华内容 16
关键字:

LDTP