声明:本空间的内容不全部是原创,如有雷同只为学习与借鉴之方便,别无它意,来者是朋友,愿通过此平台结交天下测试达狼!

发布新日志

  • VBS教程:函数-Eval 函数

    2010-05-18 15:55:55

    计算一个表达式的值并返回结果。
    [result = ]Eval(expression)
    参数
    result
    可选项。 是一个变量,用于接受返回的结果。如果未指定结果,应考虑使用 Execute 语句代替。
    expression
    必选项。可以是包含任何有效 VBScript. 表达式的字符串。
    说明
    在 VBScript. 中,x = y 可以有两种解释。第一种方式是赋值语句,将 y 的值赋予 x。第二种解释是测试 x 和 y 是否相等。如果相等,result 为 True;否则 result 为 False。Eval 方法总是采用第二种解释,而 Execute 语句总是采用第一种。
    注意 在Microsoft(R) Visual Basic Scripting Edition 中不存在这种比较与赋值的混淆,因为赋值运算符(=)与比较运算符 (==)不同。
    下面的例子说明了 Eval 函数的用法:
    Sub GuessANumber  Dim Guess, RndNum  RndNum = Int((100) * Rnd(1) + 1)  Guess = CInt(InputBox("Enter your guess:",,0))  Do    If Eval("Guess = RndNum") Then      MsgBox "祝贺你!猜对了!"      Exit Sub    Else      Guess = CInt(InputBox("对不起,请再试一次",,0))    End If  Loop Until Guess = 0End Sub
    详细出处参考:http://www.jb51.net/article/4626.htm
  • QTP面试笔试收集之二(答案未验证)

    2010-05-18 13:15:18

    如何使用Dictionary Object?

    Dim dict ‘ 建立一个变量.

    Set dict = CreateObject(”Scripting.Dictionary”)

    dict.Add “Name”, “IT公司面试手册” ‘ Adding keys and corresponding items.

    dict.Add “Website”, “http://www.mianwww.com”

    dict.Add “Country”, “China

    例子中的dict是类Scripting.Dictionary的一个对象,dictionary object的其他方法有Exists方法,Items方法,Keys方法,Remove方法,RemoveAll方法。

    QTP面试题:什么是Dictionary Object?

     

    Dictionary Object不是QTP特有的一个对象,它是Microsoft开发的,是VB scripting 的一部分。
    简单来说,Dictionary Object跟数组非常相似,两者的不同之处是dictionary object 的每个元素都有一个唯一Key.这个key可以帮助你在需要的时候调用相应的元素。

     

    QTPQC版本是如何匹配的?哪种版本的QC可以跟哪种版本的QTP整合?

     

    QC 9.0可以跟QTP 8.2 SP1, QTP 8.2 SP2, QTP 9.0, QTP 9.1 QTP 9.2整合。要确定你的QTP版本跟哪种版本的QC整合,可以参阅安装目录的ReadMe

     

    如何使用AOMQTP脚本上传到QC?

    连接到Quality Center后,使用AOM打开测试并保存到QC. 代码如下:

    qtqcApp.Open “C:\QTP\Project\QTPTestScript1″, True
    得到测试对象

    Set qtqcTest = qtqcApp.Test
    使用SaveAs方法把测试保存到QC
    qtqcApp.Test.SaveAs “[QualityCenter] Subject\FolderName\QTPTScript”

    如何查找TDConnection对象的方法和属性?

    可以到以下目录下查看这个对象的属性和方法,QTP Help > QTP Advanced Reference > Quick Test Automation > TDConnection

    如何使用AOM连接Quality Center Open Test Architecture(OTA)?

    可以使用QCUtil对象(如果是QTP6.5或者以前,是AKA TDUtil),你可以在QTP Help > Quick Test Object model reference > Utility Objects > QCUtil Object下找到所有相关的属性,如CurrentRun, TestRun, Current TestSet, CurrentTestSetTest, IsConnected, QCConnection等等。

    如果QTP自动连接QCQC的登录信息改变了怎么办?

    修改QTP安装目录下的mic.ini文件,通常是在C:\Program Files\Mercury Interactive\QuickTest Professional\bin目录下,把以下属性从1改到0
    1.  LoginAutomatically=0
       2. ReconnectToDB=0
       3. ReconnectToServer=0

    怎么在QTP启动的时候自动连接QC?

    File > Quality Center Connection, 选中 Reconnect to server on start-up选择框。

    QTP connects to QC when start-up

    如何使用Automation Object Model(AOM)连接QCQTP?

    可以使用TDConnection Object来进行连接,实例代码如下:

    ‘ Create the QuickTest Professional application object.
    Set qtqcApp = CreateObject(”QuickTest.Application”)

    qtqcApp.Launch ‘Launch QTP
    qtqcApp.Visible = True ‘Make it visible

    ‘Connect to Quality Center

    ‘qtqcApp.TDConnection.Connect <QC Server path>, <Domain name that contains QC project>,
    ‘<Project Name in QC you want to connect to>, <UserName>, <Password>,
    ‘ <Whether ‘password is entered in encrypted or normal. Value is True for encrypted and FALSE for normal>

    qtqcApp.TDConnection.Connect “http://QualityCenterServer/tdbin”,
    “FR”, “Flights”, “learnqtp”, “welcome”, False

    介绍一下你使用QTP进行自动化测试的流程

    1. 准备录制
    在录制测试前,请确认应用程序和 QuickTest 已按测试要求设置。

    请确保应用程序显示要录制的元素,例如,工具栏或特殊窗口窗格;还要确保应用程序选项已按测试目标设置。

    为了确保 QuickTest 可以正确地录制和存储信息,您还应该查看测试设置对话框(测试”>“设置)和选项对话框(工具”>“选项)中的设置。例如,应该确认测试已设置为使用适当的对象库模式。

    2. 录制应用程序上的会话
    浏览应用程序或网站时,QuickTest 会将您执行的每个步骤图形化显示为关键字视图中的一行。步骤是任何引起应用程序发生更改的用户操作,例如单击链接或图像,或者向表单输入数据。

    3. 增强测试
    通过在测试中插入检查点可以搜索页面、对象或文本字符串中的特定值,这有助于确定应用程序或网站是否正常运行。
    通过扩大测试范围(用参数替换固定值),可以检查应用程序如何使用多组数据来执行相同的操作。
    通过添加逻辑和条件语句或循环语句,可以向测试添加复杂的检查。

    4. 调试测试
    调试测试,确保测试可以流畅而无中断地运行。

    5. 运行测试
    运行测试,检查应用程序或网站的行为。在运行时,QuickTest 将打开应用程序,或者连接到网站,并执行测试中的每个步骤。

    6. 分析测试结果
    检查测试结果以便确定应用程序中的缺陷。

    7. 报告缺陷
    如果已安装了 Quality Center,则可以将发现的缺陷报告给数据库。Quality Center Mercury Interactive 的软件测试管理工具。

    QTPWindow ID属性有什么用?何时会变?

    Window Id对应Windows应用程序的控件IDControl ID),是指Windows指定给每个控件的数值型标识符,用来标识一种控件类型。不同类型的控件id就会不一样,同样类型的控件id是一样的。例如windows资源管理器的control id和打开文件对话框中的资源管理器属于同样的控件,它们的control id都是1

    如果应用程序调用系统控件,那么系统控件的windows id 一般都是0。比如window内置的 open(打开), save as(另存为)等等窗口得id都为0

    Window Id在运行前后一般都不会有什么变化。如果变了,应该不是id变,而是控件变了

    QTP面试题:如何用QTP录制鼠标右键点击事件

    QTP录制鼠标右键单击事件要通过模拟键盘操作来实现

    Step 1,修改ReplayType2,一般情况默认设置是1的。(1 – 使用浏览器事件运行鼠标操作。 2 – 使用鼠标运行鼠标操作)
    Setting.WebPackage(”ReplayType”) = 2

    Step 2,鼠标右键单击事件
    (附:Click的事件有三种 micLeftBtn 0 鼠标左键。 micRightBtn 1 鼠标右键。 micMiddleBtn 2 鼠标中键)
    Browser(”
    支付宝网上支付 安全快速!”).Page(”支付宝 网上支付 安全快速!”).Link(”返回我要付款”).Click , , micRightBtn

    Step 3,点击右键弹出的菜单(采用键盘事件来模拟)
    Set wshShell = CreateObject(”WScript.Shell”)
    wshShell.SendKeys “{DOWN}” //
    键盘向下的箭头
    wshShell.SendKeys “{DOWN}”
    wshShell.SendKeys “{ENTER}” //
    回车键

    Step 4,修改ReplayType1(使用浏览器事件运行鼠标操作)
    Setting.WebPackage(”ReplayType”) = 1

    Good to go now.

    QTP面试题:如何用QTP打开word并录入内容

    Set wobj = CreateObject(”Word.Application”)
    wobj.Visible = True
    Set Doc = wobj.Documents.Add
    Set Range = Doc.Paragraphs.Add.Range
    Range.Text = “The first Paragraph”
    Doc.Paragraphs.Add
    Set Range2 = Doc.Paragraphs.Add.Range
    Range2.Text = “The second Paragraph”

  • QTP面试笔试收集之一(有答案并验证)

    2010-05-17 10:35:31

    填空:

    1. QTP脚本语言采用VBS

    2. 通过DESKTOP对象可以访问windows的桌面顶层对象,想要截屏应使用的方法是desktop.CaptureBitmap

    3. 激活窗口使用的方法Window("").Activate

    问答题:

    1. QTPROTO的区别?

    2. QTPOBJECT SPY的作用?

    3. 编写在QTP脚本,实现向记事本中输入“0123456789ABCDEFG”后,按ENTER

    4. 下面脚本的目的是获取当前桌面中名为“test_记事本的窗口对象,请补全?

    set bjdesc=Description.Create()

    objdesc(“text”).value=”test_记事本

    set object couection=Desktop.________

     

     1.QTPROTO的区别?

    TOTest Object的简称,RORuntime Object简称,既用来区分仓库对象和实际对象,又用来区分对象的封装接口和自身接口。
    从实际作用上来看,应该说TO就是是仓库文件里定义的仓库对象,RO是被测试软件的实际对象。
    QTP
    为用户提供了两种操作对象的接口,一种就是对象的封装接口,另一种是对象的自身接口。对象的自身接口是对象控件本身的接口,对象的封装接口是QTP 为对象封装的另一层接口,它是QTP通过调用对象的自身接口来实现的。两种接口的脚本书写格式的差别在于:自身接口需要在对象名后面加object再加属 性名或方法名,封装接口就不用在对象名后面加object.
    2.QTP
    OBJECT SPY的作用?

    查看对象,在查看窗口里有列出这些接口,包括属性和方法。
    窗口中间有选择栏让你选择Run-time Object或者Test Object
    当你选择Runtime Object时,它显示的就是对象的自身接口(自身的属性和方法)
    当你选择Test Object时,它显示的就是对象的封装接口(封装的属性和方法)
    3.
    编写在QTP脚本,实现向记事本中输入 “0123456789ABCDEFG”后,按ENTER

    SystemUtil.Run “C:\WINDOWS\system32\notepad.exe”
    Window(”Notepad”).Activate
    Window(”Notepad”).WinEditor(”Edit”).Type “0123456789ABCDEFG”

    如何用QTP脚本删除一个文件夹?

    QTP面试题专栏, 软件测试面试题专栏

    代码如下例所示,假设要删除的文件夹是在C:\drive.
    如何用QTP脚本删除一个文件夹:
    Dim strDrive, strfoldername,objFSO, objFolder, strPath
    strDrive = “c:\” ‘
    你要删除的文件夹所在的盘符
    strfoldername=”test” ‘
    你要删除的文件夹名
    strPath= strDrive&strfoldername
    创建FileSystemObject.
    Set bjFSO = CreateObject(”Scripting.FileSystemObject”)
    On Error Resume Next ‘Incase folder is not found
    objFSO.DeleteFolder(strPath)

    代码如下例所示,假设要删除的文件夹是在C:\drive.
    如何用QTP脚本删除一个文件夹:

    Dim strDrive, strfoldername,objFSO, objFolder, strPath
    strDrive = “c:\” ‘
    你要删除的文件夹所在的盘符
    strfoldername=”test” ‘
    你要删除的文件夹名
    strPath= strDrive&strfoldername
    创建FileSystemObject.
    Set bjFSO = CreateObject(”Scripting.FileSystemObject”)
    On Error Resume Next ‘Incase folder is not found
    objFSO.DeleteFolder(strPath)

     

    如何用QTP脚本创建一个文件夹?

    QTP面试题专栏, 软件测试面试题专栏

    代码如下例所示,假设要创建的文件夹是在C:\drive.
    如何用QTP脚本创建一个文件夹:
    Dim strDrive, strfoldername,objFSO, objFolder, strPath
    strDrive = “c:\” ‘
    你要创建的文件夹所在的盘符
    strfoldername=”test” ‘
    你要创建的文件夹名
    strPath= strDrive&strfoldername
    创建FileSystemObject.
    Set bjFSO = CreateObject(”Scripting.FileSystemObject”)
    On Error Resume Next ‘ 
    如果文件夹已经存在
    strPath创建一个文件夹
    Set bjFolder = objFSO.CreateFolder(strPath)
    If err.Number = 58 then      ‘VB script
    运行时异常,如果文件已经存在
    msgbox “Folder  already exist  at” & strPath
     exitTest
    End If
    msgbox “Folder  created is at ” & strPath

     

    如何关掉msgbox的提示框?

    在调试脚本的时候,通常会用采用很多msgbox函数,但是这些提示框必须要手动关闭,否则脚本不会继续往下执行,你可以设计一个函数,在几秒钟之后自动关闭提示框吗?
    答案:
    Set WshShell = CreateObject(”Wscript.Shell”)
    WshShell.Popup “
    请等待5秒钟,5秒后该窗口自动关闭”, 5, “Title”

    在调试脚本的时候,通常会用采用很多msgbox函数,但是这些提示框必须要手动关闭,否则脚本不会继续往下执行,你可以设计一个函数,在几秒钟之后自动关闭提示框吗?
    答案:
    Set WshShell = CreateObject(”Wscript.Shell”)
    WshShell.Popup “
    请等待5秒钟,5秒后该窗口自动关闭”, 5, “Title”

    QTP面试题:如何通过脚本来删除cookies?

    没有一个现成的方法来删除cookies, 所以你需要写一个Shell Script去删除你的Cookie所在目录的所有文件。实现的代码如下:
    Const COOKIES = &H21&
    Set bjShell = CreateObject(”Shell.Application”)
    Set bjFolder = objShell.Namespace(COOKIES)
    Set bjFolderItem = objFolder.Self
    strPath = objFolderItem.Path & “\*.*”
    Set bjFSO = CreateObject(”Scripting.FileSystemObject”)
    objFSO.DeleteFile(strPath)

     

  • Close、Write、WriteLine及WriteBlankLines的使用

    2010-05-14 13:59:07

    Dim strPath,strText
    strPath = "C:\type.txt"
    strText = "This is Test !"& vbCrLf & “hello word !”     '这块报语法错误--EXPECTED EXPRESSION!
    '调用函数
    Call CreateFile(strPath,strText)
    Sub CreateFile(strPath,strText)
     Dim objFso,objStream
     '创建FileSystemObject对象
     Set bjFso = CreateObject("Scripting.FileSystemObject")
     '使用FileSystemObject对象的CreateTextFile(),来返回一个TextStream对象句柄
     Set bjStream = objFso.CreateTextFile(strPath,True)
     '三个Write的意思分别为:在文本中写入字符、写入带换行符的字符、写入3个换行符
     objStream.Write(strText)
      'objStream.WriteLine(strText)
     'objStream. WriteBlankLines 3
     '关闭TextStream对象
     objStream.Close
    End Sub
     
     

    把这块
    Dim strPath,strText
    strPath = "C:\type.txt"
    strText = "This is Test !"& vbCrLf & “hello word !” 
    修改成
    Dim strPath,strText,a,b
    strPath = "C:\TYPE.txt"
     a= "This is Test !"
     b="hello world!"
     strText= a&vbcr &b
     
    问题就解决了
  • QTP查找某个文件最后次修改时间

    2010-05-14 09:15:19

    Dim fso, f1
    Set fso = CreateObject("Scripting.FileSystemObject")
    ' Get a File object to query.
    Set f1 = fso.GetFile("c:\data.xls")  
    ' Print information.
    msgbox "File last modified: " & f1.DateLastModified
     
    结果见附件:
  • QTP复制文件不成功,错在哪里?

    2010-05-12 16:02:44

    不成功代码,错在哪里?
    ' 创建FileSystemObject对象
    Set bjfso = createobject("scripting.FileSystemObject")
    ' 将C:\456下所有的内容复制到c:\123
    objfso.CopyFolder "c:\456","c:\123"
    If objfso.FileExists("c:\123\456") Then
     msgbox "copy successfully!"
     else
      msgbox "copy failed!"
    End IF
     
     
    经过反复琢磨,终于明白上段代码加粗地方有错,假设原456文件夹下有个test文件夹应该修改成If objfso.FolderExists("c:\123\test") Then
    当然要想看到明显效果,456文件夹下多一些文件或文件夹,一运行代码,就能发现456文件夹底下的文件或文件夹都被复制到123文件夹底下
     
     
     
    文件复制的代码
    ' 创建FileSystemObject对象
    Set bjfso = createobject("scripting.FileSystemObject")
    ' 将C:\456下所有的内容复制到c:\123
    objfso.CopyFile "c:\456\*.xls","c:\123"
    If objfso.FileExists("c:\123\data.xls") Then
     msgbox "copy successfully!"
     else
      msgbox "copy failed!"
    End IF
     
     
     
    本文总结:将文件夹或文件是从某位置“递归”复制到另一位置
  • QTP 中ADO应用实例

    2010-05-12 11:34:52

    Dim cnn,rst,strCnn
    '连接到数据源
    strCnn = "Provider=SQLNCLI.1;Password=sasasa;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=."
    Set cnn = CreateObject("ADODB.Connection")
    cnn.Open strCnn
    Set rst = CreateObject("ADODB.recordset")
    '查询login 的内容
     rst.Open "select * from login",cnn
    rst.MoveFirst
    '做循环,不到文件底部,不退出循环
    Do While Not rst.EOF
    MsgBox Trim(rst.Fields("name"))& Trim(rst.Fields("password"))
    rst.MoveNext
    Loop
    '关闭连接
    rst.Close
    cnn.Close
    '置空对象
    Set rst = Nothing
    Set cnn = nothing
     
     
     
     

     
  • 用记事本方法实现SQL连接池字符串

    2010-05-12 11:12:40

    在QTP的ADO应用中,经常需要用到“连接到数据源,并查询数据”,这就需要提供连接字符串
    例如:
    Dim cnn,rst,strCnn
    '连接到数据源
    strCnn = "Provider=SQLNCLI.1;Password=sasasa;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=192.168.20.10"  '这段字符串我们可以通过记事本方法很容易得到
    Set cnn = CreateObject("ADODB.Connection")
    cnn.Open strCnn
    Set rst = CreateObject("ADODB.recordset")
     
    用记事本方法(这里以做SQL连接字符串为例):
    1 新建个记事本
    2 修改记事本名称和后缀名:test.udl     '这很关键
    3 双击test.udl
    4 在“提供程序”tab里--选中"SQL Native Client"
    5 在“连接”tab 填写 :
       I)数据库服务器的IP
       II)访问账号及密码(密码勾选“允许密码保存”)
       III)具体的访问数据库名称
    6  点击“测试连接”看看是否成功
    7 点击确定
    8 再用记事本打开test.udl,复制字符串 Provider=SQLNCLI.1;Password=sasasa;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=192.168.20.10
    9 成功
     
  • C#调用QTP代码及方法

    2010-05-12 09:13:55

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    namespace WindowsFormsApplication4
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                // 创建QTP应用程序实例
                QuickTest.Application APP = new QuickTest.Application();
                //加载插件
                string[] arrAddin = { "web", "Activex", "Visual Basic" };
                object addins = arrAddin;
                object errorDescript. = "";
                if (APP.SetActiveAddins(ref addins, out errorDescript))
                {
                    MessageBox.Show("QTP插件加载成功");
                }
                else
                {
                    MessageBox.Show("QTP插件加载失败" + errorDescript.ToString());
                }
                // 启动QTP
                APP.Launch();
                // 让QTP可见
                APP.Visible = true;
                //退出QTP
                APP.Quit();
            }
        }
    }
    注意事项:要在C#调用运行成功QTP,必须事先添加引用QTP,否则C#会报错误 :1 找不到类型或命名空间名称“QuickTest”(是否缺少 using 指令或程序集引用?) 
     
    具体方法:
    1 打开解决方案资源管理器--右击“引用”--添加引用
    2 在添加引用窗体选中“COM" tab(默认是.NET)
    3 找到QuickTest Professional 9.2 Object Libary
    4 点击”确定“
    这时在解决方案资源管理器--“引用”下你能看到多了个QuickTest,表示引用成功,在运行不会报上面错误了。
  • QTP中将数据库的数据导入到EXCEL

    2010-05-06 15:43:27

    Set excelObj = createobject("Excel.Application") '创建一个excel对象
    excelObj.workbooks.open("c:\data.xls") '打开本地的Excel文件
    Set sheetNew = excelobj.sheets.item(1)'' 设置将数据放在 EXCEL 中的那一页上 ( 索引从1开始 )
    Const strconn = "Provider=SQLNCLI.1;Password=sasasa;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=."'连接数据库
    Set conn=createobject("Adodb.Connection")
    Set res=createobject("Adodb.recordset")
    sql = "seleect * from  login"
    conn.open strconn
    res.Open sql, conn   'sql为查询语句
    res.MoveFirst()
    Dim i
    Dim j
    j=1
    Do while not res.eof
    For i=0 to res.Fields.count-1
                sheetNew.cells(j,(i+1)).value=res.fields(i).value
    Next
    j=j+1
    res.movenext()
    Loop             '‘循环取出数据库表中的所有字段的值。
    res.close
    conn.close
    Set res=nothing
    Set conn=nothing
    excelObj.activeworkbook.saveas "c:\data.xls" '在指定目录自动生成Excel文件保存从数据库中取出的数据
    excelObj.quit ' 关闭对象
    set excelObj = nothing ' 清空对象

     

  • CloseDescendentProcesses Method关掉非QTP打开的程序

    2010-04-21 10:40:25

    自己根据例子写了段小代码,代码作用是关闭所有由QTP打开的程序
    SystemUtil.Run "C:\type.txt", "","",""
    SystemUtil.Run"I:\QTP-Train"
    SystemUtil.Run"I:\Bug"
    wait 5
    SystemUtil.CloseDescendentProcesses
     
    这会是QTP的SystemUtil.CloseDescendentProcesses 的bug吗? 下次注意
  • qtp键盘鼠标操作事件

    2010-04-21 09:40:49

    micCtrlDwn  Presses the Ctrl key. 
    micCtrlUp  Releases the Ctrl key. 
    micLCtrlDwn  Presses the left Ctrl key. 
    micLCtrlUp  Releases the left Ctrl key. 
    micRCtrlDwn  Presses the right Ctrl key. 
    micRCtrlUp  Releases the right Ctrl key. 
    micAltDwn  Presses the Alt key. 
    micAltUp  Releases the Alt key. 
    micLAltDwn  Presses the left Alt key. 
    micLAltUp  Releases the left Alt key. 
    micRAltDwn  Presses the right Alt key. 
    micRAltUp  Releases the right Alt key. 
    micShiftDwn  Presses the Shift key. 
    micShiftUp  Releases the Shift key. 
    micLShiftDwn  Presses the left Shift key. 
    micLShiftUp  Releases the left Shift key. 
    micRShiftDwn  Presses the right Shift key. 
    micRShiftUp  Releases the right Shift key. 
    micIns  Presses the Insert key. 
    micDel  Presses the Delete key. 
    micHome  Presses the Home key. 
    micEnd  Presses the End key. 
    micPgUp  Presses the Page Up key. 
    micPgDwn  Presses the Page Down key. 
    micUp  Presses the Up arrow key. 
    micDwn  Presses the Down arrow key. 
    micLeft  Presses the Left arrow key. 
    micRight  Presses the Right arrow key. 
    micEsc  Presses the Esc key. 
    micBack  Presses the Backspace key. 
    micReturn  Presses the Return key. 
    micTab  Presses the Tab key. 
    micBreak  Presses the Break key. 
    micPause  Presses the Pause key. 
    micPrintScr  Presses the Print Screen key. 
    micWinLogoDwn  Presses the Windows Logo key. 
    micWinLogoUp  Releases the Windows Logo key. 
    micLWinLogoDwn  Presses the left Windows Logo key. 
    micLWinLogoUp  Releases the left Windows Logo key. 
    micRWinLogoDwn  Presses the right Windows Logo key. 
    micRWinLogoUp  Releases the right Windows Logo key. 
    micAppKey  Presses the Application key. 
    micF1  Presses the F1 key. 
    micF2  Presses the F2 key. 
    micF3  Presses the F3 key. 
    micF4  Presses the F4 key. 
    micF5  Presses the F5 key. 
    micF6  Presses the F6 key. 
    micF7  Presses the F7 key. 
    micF8  Presses the F8 key. 
    micF9  Presses the F9 key. 
    micF10  Presses the F10 key. 
    micF11  Presses the F11 key. 
    micF12  Presses the F12 key. 
    micNumLockOn  Turns on the Num Lock. 
    micCapsLockOn  Turns on the Caps Lock. 
    micScrollOn  Turns on the Scroll Lock. 
    micNumLockOff  Turns off the Num Lock. 
    micCapsLockOff  Turns off the Caps Lock. 
    micScrollOff  Turns off the Scroll Lock.
322/2<12
Open Toolbar