Загрузка файла на удаленный компьютер через Grid с использованием диалогового окна Open window в Java - PullRequest
0 голосов
/ 05 апреля 2019

У нас есть сценарий для загрузки файлов изображений в веб-приложении (например, загрузка резюме на портале вакансий), мы используем Auto IT для того же (ниже приведен код), но когда мы запускаем тот же сценарий на удаленном компьютере (узел) На компьютере с помощью Селеновой сетки путь (расположение файла образа) не обновляется в диалоговом окне «Открыть» удаленного компьютера, вместо этого сценарий всегда фокусируется на локальном компьютере (концентраторе) для обновления пути. мы не уверены, как справиться с этим. Не могли бы вы помочь нам в этом? Я могу запустить драйверы на компьютере-узле и обработать для выполнения, но мне не удается обновить путь в диалоговом окне открытого окна.

Я использовал приведенный ниже код для загрузки изображения на наш портал. но этот код подходит для компьютера-концентратора, но не для удаленного компьютера. Поскольку весь мой элемент управления находится на компьютере-концентраторе, поэтому при открытии этого всплывающего окна на удаленном компьютере сценарий не обновляет путь в диалоговом окне открытого окна.

//**********************************************\\
public boolean uploadFile( WebDriver driver , String uploadfileName ,
        String tcName , ExtentTest test , String browser ) {
    String jacobDllVersionToUse;
    if ( jvmBitVersion().contains( "32" ) ) {
        jacobDllVersionToUse = "jacob-1.18-x86.dll";
    }
    else {
        jacobDllVersionToUse = "jacob-1.18-x64.dll";
    }
    File file = new File( System.getProperty( "user.dir" ) + "\\AutoItLib\\" , jacobDllVersionToUse );
    System.out.println( "Path AutoLib: " + file );
    System.setProperty( LibraryLoader.JACOB_DLL_PATH , file.getAbsolutePath() );
    System.out.println( "Absolute Path: " + file );
    AutoItX x = new AutoItX();
    try {
        Thread.sleep( 1000 );
        if ( browser.trim().equalsIgnoreCase( "chrome" ) ) {
            x.winWait( "[Title:Open]" , "" , 15 );
            x.controlFocus( "[Title:Open]" , "" , "Edit1" );
            File url = new File( System.getProperty( "user.dir" ) + "\\Uploadfiles\\" + uploadfileName );
            String name = FilenameUtils.getExtension( uploadfileName );

            if ( url.exists() && ( name.equalsIgnoreCase( "png" ) || name.equals( "pdf" ) || name
                    .equals( "tiff" ) ) ) {
                x.ControlSetText( "[TITLE:Open]" , "" , "Edit1" , url.toString() );
                Thread.sleep( 1000 );
                x.controlClick( "[Title:Open]" , "" , "Button1" );
                Thread.sleep( 1000 );
                return true;
            }
            else {
                x.controlClick( "[Title:Open]" , "" , "Button2" );
                Thread.sleep( 1000 );
                test.log( LogStatus.FAIL , "Unable to upload File" + uploadfileName );
                return false;
            }
        }
        else if ( browser.trim().equalsIgnoreCase( "firefox" ) ) {
            x.winWait( "[Title:File Upload]" , "" , 15 );
            x.controlFocus( "[Title:File Upload]" , "" , "Edit1" );
            x.ControlSetText( "[TITLE:File Upload]" , "" , "Edit1" ,
                    System.getProperty( "user.dir" ) + "\\Uploadfiles\\" + uploadfileName );
            Thread.sleep( 1000 );
            x.controlClick( "[Title:File Upload]" , "" , "Button1" );
            Thread.sleep( 1000 );
            return true;
        }
        else if ( browser.trim().equalsIgnoreCase( "ie" ) ) 
            x.winWait( "[Title:Choose File to Upload]" , "" , 20 );
            x.controlFocus( "[Title:Choose File to Upload]" , "" , "Edit1" );
            x.ControlSetText( "[TITLE:Choose File to Upload]" , "" , "Edit1" ,
                    System.getProperty( "user.dir" ) + "\\Uploadfiles\\" + uploadfileName )
            x.controlClick( "[Title:Choose File to Upload]" , "" , "Button1" );
            return true;
        }

    }

    catch ( Exception e ) {
    }
    return false;
}

private String jvmBitVersion() {

    return System.getProperty( "sun.arch.data.model" );
}

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...