У нас есть сценарий для загрузки файлов изображений в веб-приложении (например, загрузка резюме на портале вакансий), мы используем 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" );
}
введите описание изображения здесь