我正在尝试使用appium和以下代码打开控制中心:
int halfWidth = driver.manage().window().getSize().width / 2;
int screenHeight = driver.manage().window().getSize().height;
driver.swipe(halfWidth, screenHeight-5, halfWidth, screenHeight-300, 500); // driver is instance of IOSDriver
应用程序只是从底部向上绘制屏幕(使用坐标输入),而不是打开控制中心。任何人都知道如何使用appium和swipe(或任何其他方式)打开控制中心?
谢谢,查理
答案 0 :(得分:4)
我们可以做到这一点。我在Appium 1.4.13中尝试过,我可以更改设置。
我使用下面的代码来更改iPadAir2中的设置。
int height = driver.findElementByClassName("UIAWindow").getSize().getHeight();
int width = driver.findElementByClassName("UIAWindow").getSize().getWidth();
driver.swipe(width-100, height, width-100, height-200, 500);
driver.findElementByAccessibilityId("Wi-Fi").click();
答案 1 :(得分:1)
Appium 1.6.5,您可以使用滑动方法,请参阅我的Python代码:
window_size = self.driver.get_window_size() # this returns dictionary
el = self.driver.find_element(*self.configuration.CommonScreen.WEB_VIEW)
action = TouchAction(self.driver)
start_x = window_size["width"] * 0.5
start_y = window_size["height"]
end_x = window_size["width"] * 0.5
end_y = window_size["height"] * 0.5
action.press(el, start_x, start_y).wait(100).move_to(el, end_x, end_y).release().perform()
答案 2 :(得分:0)
我可以使用适用于iOS的Appium 1.6.4-beta关闭Wifi或打开飞行模式
从屏幕底部向上滑动 单击继续链接 单击Wifi或飞机按钮 从屏幕中间向下滑动
但是这似乎没有在模拟器中做任何事情。我必须关闭我的计算机互联网连接才能在模拟器上禁用互联网。
@iOSFindBy(xpath = "//XCUIElementTypeSwitch[@name='Wi-Fi']")
private MobileElement WIFI_MODE_BUTTON;
public void disableWifi() {
openToolBarMenu();
//if wifi is on/true then turn it off
if (WIFI_MODE_BUTTON.getAttribute("value") == "true" ) {
Autoscope.tap(WIFI_MODE_BUTTON);
}
closeToolBarMenu();
}
@iOSFindBy(xpath = "//XCUIElementTypeButton[@name='Continue']")
private MobileElement CONTINUE_BUTTON; //continue button on control center
public void openToolBarMenu() {
Autoscope.scrollFromBottomOfScreen();
if (Autoscope.isElementDisplayed(CONTINUE_BUTTON)) {
Autoscope.tap(CONTINUE_BUTTON);
}
}
static public void scrollFromBottomOfScreen() {
TouchAction touchAction = new TouchAction(autoscopeDriver);
int xStartPoint = Math.round(pixelWidth() / 2);
int yStartPoint = pixelHeight();
int yEndPoint = 0 - yStartPoint;
touchAction.press(xStartPoint, yStartPoint).moveTo(0, yEndPoint).release().perform();
}
答案 3 :(得分:0)
此代码将有助于启动Control Center,而在您使用应用程序时,您可以执行Control Center中可用的所有操作
mMixer.renderAudio(outputBuffer+(oboeStream->getChannelCount()*i), 1);
答案 4 :(得分:0)
C#:iOS 13.x
//Opening control center
var size = Driver.Manage().Window.Size;
var height = size.Height;
var width = size.Width;
var touchAction = new TouchAction(Driver);
touchAction.Press(width - 100, height).Wait(1000).MoveTo(width - 100, height - 200).Release().Perform();
//Clicking the WiFi button
Driver.FindElementByAccessibilityId("wifi-button").Click();
//Checking if WiFi enabled or not
var myElement = Driver.FindElementByAccessibilityId("wifi-button");
var result = myElement.GetAttribute("label");
if(!result.Contains("Wi-Fi, Not Connected") && !result.Equals("Wi-Fi"))
{
// WiFi connected
}
else
{
// WiFi Not connected
}
答案 5 :(得分:0)
这个想法是模拟用来在相应的iOS设备上打开Control Center的滑动操作。我的设备是iPhone 11,因此从右上角(凹口的右边)向下滑动。我的代码是从(x,y)位置(宽度80%,0)滑动到(80%宽度,50%高度)
Dimension size = getScreenSize();
int x = (size.getWidth() / 5) * 4;
int startY = 0;
int endY = size.getHeight() / 2;
new TouchAction(driver).press(PointOption.point(x, startY))
.waitAction(WaitOptions.waitOptions(Duration.ofSeconds(1)))
.moveTo(PointOption.point(x, endY))
.release().perform();
答案 6 :(得分:-1)
好的,经过相当多的调查后,在我看来这是不可能的。如果你真的需要这个功能,那么我认为像茄子这样的工具可能是合适的。