簡體   English   中英

使用移動設備滾動日期選擇器:appium 中的 selectPickerWheelValue

[英]Scroll Date Picker using mobile: selectPickerWheelValue in appium

我正在使用 appium,我正在嘗試從 iOS 的日期選擇器中選擇日期。

這是我的代碼

JavascriptExecutor js = (JavascriptExecutor) driver;
    Map<String, Object> params = new HashMap();
    params.put("order", "next");
    params.put("offset", 0.15);
    params.put("element", dayPicker);
    for (int i=0;i<10;i++) {
        js.executeScript("mobile: selectPickerWheelValue", params);
    }

我想選擇日期為 10 ,某個月份和年份。 下面是ui截圖。

在此處輸入圖片說明

但是當我嘗試使用上面的代碼時,我收到以下錯誤消息。

org.openqa.selenium.WebDriverException: An unknown server-side error 
occurred while processing the command. Original error: Error 
Domain=com.facebook.WebDriverAgent Code=1 "Picker wheel value has not 
been changed after 2 seconds timeout" UserInfo= . 
{NSLocalizedDescription=Picker wheel value has not been changed after 2 
seconds timeout}
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'

我也試過滾動。但是,不幸的是滾動發生了 2 次並停止了。 這是代碼。

JavascriptExecutor js = (JavascriptExecutor) driver;
    Map<String, Object> params = new HashMap();
    params.put("element", dayPicker);
    params.put("direction", "down");
    params.put("text", "10");
    params.put("toVisible", "true");
    js.executeScript("mobile: scroll" , params);
    System.out.println("******"+dayPicker.getText());

我還想從應用程序其他部分的國家/地區列表中選擇國家/地區。 因此,如果您能幫助我了解如何使用滾動、滑動等這些方法,那將會很有幫助

我正在使用最新的 appium 桌面版本 1.6 和 appium 服務器 1.8。

找到替代解決方案

((IOSDriver) driver).findElementByClassName("XCUIElementTypePickerWheel")
                        .sendKeys(text);

找到不同選擇器(日期、月份、年份)的 xpath 並相應地設置值(嘗試set_value('1')set_value('= 1')

date_picker = driver.find_element_by_xpath('//XCUIElementTypePickerWheel')
date_picker.set_value('1')
JavascriptExecutor js = (JavascriptExecutor) driver;
    Map<String, Object> params = new HashMap();
    params.put("order", "next");
    params.put("offset", 0.15);
    params.put("element",((RemoteWebElement) driver.findElement(dayPicker)).getId());
    for (int i=0;i<10;i++) {
        js.executeScript("mobile: selectPickerWheelValue", params);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM