Я импортирую Appium (java -client-7.3.0.jar) и библиотеку Selenium для моего проекта. Моя функция:
import org.junit.*;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By.ByClassName;
import org.openqa.selenium.By.ByName;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.util.ArrayList;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.net.URL;
import io.appium.java_client.android.nativekey.KeyEvent;
import io.appium.java_client.windows.WindowsDriver;
import io.appium.java_client.windows.WindowsElement;
import java.awt.RenderingHints.Key;
import java.awt.Robot;
import java.lang.reflect.Array;
public class WinAppEmail {
private static WindowsDriver<WindowsElement> session = null;
public void setup() {
try {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("app", "C:\\Program Files\\Microsoft Office\\Office16\\OUTLOOK.EXE");
session = new WindowsDriver<WindowsElement>(new URL("http://127.0.0.1:4723"), capabilities);
session.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
String strCurrentWindow="" ;
// strCurrentWindow = session.getWindowHandle(); // => Can't not get current handle
// Robot robot = new Robot();
// robot.keyPress(java.awt.event.KeyEvent.VK_CONTROL);
// robot.keyPress(java.awt.event.KeyEvent.VK_N);
// robot.keyRelease(java.awt.event.KeyEvent.VK_N);
// robot.keyRelease(java.awt.event.KeyEvent.VK_CONTROL);
session.findElementByName("New Email").click(); // => Can't find
}catch(Exception e){
e.printStackTrace();
} finally {
}
}
}
Мой код имеет 2 проблемы. 1. Он не может получить текущий дескриптор окна (strCurrentWindow = session.getWindowHandle ();) 2. Он не может нажать кнопку на почте Outlook (session.findElementByName ("New Email"). Click ();) Пожалуйста, помогите меня! спасибо всем.
исключение: 7 февраля 2020 г. 15:55:42 io.appium.java_client.remote.AppiumCommandExecutor $ 1 лямбда $ 0 ИНФО: обнаруженный диалект: OSS -------- ------- Исключение в потоке "main" java .lang.NoClassDefFoundError: org / apache / commons / lang3 / StringUtils в io.appium.java_client.internal.ElementMap.getElementClass (ElementMap. java: 77 . remote.RemoteWebDriver.execute (RemoteWebDriver. java: 561) по адресу io.appium.java_client.DefaultGenericMobileDriver.execute (DefaultGenericMobileDriver. java: 41) по адресу io.appium.java_client.Ariver 1) в io.appium.java_client. windows .WindowsDriver.execute (WindowsDriver. java: 1) в org.openqa.selenium.remote.RemoteWebDriver.findElement (RemoteWebDriver. java: 323) в io.appium.java_client.DefaultGenericMobileDriver.findElement (DefaultGenericMobileDriver. java: 61) в io.appium.java_client.AppiumDriver.findElement (AppiumDriver. java: 1) в io.appliW .j. findElement (WindowsDriver. java: 1) в org.openqa.selenium.remote.RemoteWebDriver.findElementByName (RemoteWebDriver. java: 404) в io.appium.java_client.DefaultGeneric * MobileDriver.fName по умолчанию (MobileDriver. в io.appium.java_client.AppiumDriver.findElementByName (AppiumDriver. java: 1) в io.appium.java_client. windows .WindowsDriver.findElementByName (WindowsDriver. java: 1) в AllegroP.Amail для электронной почты в WindowsAmail. . java: 59) в Allegro.MainFunction.main (MainFunction. java: 9) Вызывается: java .lang.ClassNotFoundException: org. apache .commons.lang3.StringUtils в java. net .URLClassLoader.findClass (неизвестный источник) в java .lang.ClassLoader.loadClass (неизвестный источник) в sun.mis c .Launcher $ AppClassLoader.loadClass (неизвестный источник) в java .l ang.ClassLoader.loadClass (неизвестный источник) ... еще 17