【问题标题】:How to upload a file/photo using katalon studio?如何使用katalon studio上传文件/照片?
【发布时间】:2018-01-05 23:25:18
【问题描述】:

我正在尝试使用katalon studio上传文件以进行自动化测试(网络测试。单击“浏览”按钮后,窗口弹出窗口已打开,但我无法选择照片或转到特定路径。我找到了一个命令WebUI.UploadFile() 但我认为我没有正确使用它。

如果有人有类似情况,请分享您的经验。我怎么能在katalon中做到这一点?

【问题讨论】:

    标签: testing automation automated-tests browser-automation katalon-studio


    【解决方案1】:

    你可以试试这个解决方案:

    1. 创建以下自定义关键字 (https://docs.katalon.com/display/KD/Define+custom+keywords):
    import java.awt.Robot 
    import java.awt.Toolkit 
    import java.awt.datatransfer.StringSelection 
    import java.awt.event.KeyEvent
    
    import com.kms.katalon.core.annotation.Keyword 
    import com.kms.katalon.core.testobject.TestObject 
    import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
    
    public class WebUICustomKeyword { 
        @Keyword 
        def uploadFile(TestObject to, String filePath) { 
            WebUI.click(to) 
            StringSelection ss = new StringSelection(filePath); 
            Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null); 
            Robot robot = new Robot(); 
            robot.keyPress(KeyEvent.VK_ENTER); 
            robot.keyRelease(KeyEvent.VK_ENTER); 
            robot.keyPress(KeyEvent.VK_CONTROL); 
            robot.keyPress(KeyEvent.VK_V); 
            robot.keyRelease(KeyEvent.VK_V); 
            robot.keyRelease(KeyEvent.VK_CONTROL); 
            robot.keyPress(KeyEvent.VK_ENTER); 
            robot.keyRelease(KeyEvent.VK_ENTER); 
        } 
    }
    
    1. 用您的测试用例中的自定义关键字替换“上传文件”步骤,例如:
    CustomKeywords.'com.katalon.WebUICustomKeyword.uploadFile'(findTestObject('BrowseButton'), 'yourFileHere')
    

    【讨论】:

      【解决方案2】:
      1. 首先,为文件上传按钮或链接创建一个关键字,例如:“Object Repository/Page_Add_Document_To_Current_Account/lnk_choose_a_file”

        李>
      2. 接下来,创建一个用于处理上传的方法调用,例如 类上传新文件 {

        /** 此方法将用于上传文件 */ @关键词 def uploadFileToTest(TestObject to, String filePath){ WebUI.click(到) WebUI.delay(3) //我建议添加这个延迟来让代码有时间运行 字符串选择 ss = 新字符串选择(文件路径) Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null) WebUI.delay(2) //同上原因

        机器人机器人 = 新机器人() 机器人.keyPress(KeyEvent.VK_ENTER) 机器人.keyRelease(KeyEvent.VK_ENTER); 机器人.keyPress(KeyEvent.VK_CONTROL); 机器人.keyPress(KeyEvent.VK_V); 机器人.keyRelease(KeyEvent.VK_V); 机器人.keyRelease(KeyEvent.VK_CONTROL); 机器人.keyPress(KeyEvent.VK_ENTER); 机器人.keyRelease(KeyEvent.VK_ENTER); } }

      3. 接下来,调用代码中需要的方法,它会显示如下: *CustomKeywords.'methodCalls.uploadNewFile.uploadFileToTest'(findTestObject(**null), '')***

      4. 接下来,将上面3中的null替换为上面1中创建的关键字,然后将要上传的文件的文件路径插入到上面3中的''中。

      最后的陈述是这样的: CustomKeywords.‘methodCalls.uploadNewFile.uploadFileToTest’(findTestObject(‘Object Repository/Page_Add_Document_To_Current_Account/lnk_choose_a_file’), ‘C:\Users\…\Documents\…\…\TestFile.txt’)

      一切顺利

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-30
        • 2012-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多