groovy.lang.MissingMethodException: Нет подписи метода: следующая ошибка при загрузке файла с использованием класса робота - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь загрузить файл с локального компьютера, используя класс робота, но получаю следующую ошибку.

groovy.lang.MissingMethodException: Нет сигнатуры метода: java.awt.datatransfer.StringSelection.positive () применяется для типов аргументов: () значения: [] Возможные решения: notify ()

import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject

import com.kms.katalon.core.annotation.Keyword
import com.kms.katalon.core.checkpoint.Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling
import com.kms.katalon.core.testcase.TestCase
import com.kms.katalon.core.testdata.TestData
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI

import internal.GlobalVariable
import java.awt.Robot
import java.awt.Toolkit
//import java.awt.datatransfer.Clipboard
import java.awt.datatransfer.StringSelection
import java.awt.event.KeyEvent

public class RobotClass {
    @Keyword
    def uploadFile(TestObject to, String filePath) {
        WebUI.click(to)
        StringSelection ss = new StringSelection(filePath);
        //r=java.awt.Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
        println "The copied path is" :+ss
        /*  Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
         // clipboard.setContents(ss, null);*/
        println "The clipboard is " +clipboard
        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_CONTROL);
        robot.keyRelease(KeyEvent.VK_V);
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);
    }

=============================

Calling this tc: 

    CustomKeywords.'custom.RobotClass.uploadFile'(findTestObject('Object'), "Path")

1 Ответ

1 голос
/ 02 мая 2019

У вас есть опечатка

println "The copied path is" :+ss

Должно быть

println "The copied path is:" + ss
...