appium - 如何获取本机 Android 应用程序中元素的背景颜色

use*_*400 4 appium appium-android

我正在尝试使用自动化应用程序appium。如何获取 Android 应用程序中元素的背景颜色。

我尝试使用

element.getCssValue("background-color")
Run Code Online (Sandbox Code Playgroud)

但我面临以下异常:

java.lang.ClassCastException:com.google.common.collect.Maps$TransformedEntriesMap 无法在 io.appium 的 org.openqa.selenium.remote.RemoteWebElement.getCssValue(RemoteWebElement.java:167) 处转换​​为 java.lang.String。 java_client.DefaultGenericMobileElement.getCssValue(DefaultGenericMobileElement.java:177) 在 io.appium.java_client.MobileElement.getCssValue(MobileElement.java:1) 在 io.appium.java_client.android.AndroidElement.getCssValue(AndroidElement.java:1) 在 com .mahindracomviva.digibanktest.tests.corecontrollers.DynamicControlsTest.validateThemeColor(DynamicControlsTest.java:130) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) 在sun.reflect.DelegatingMethodAccessorImpl。在 org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) 处的 java.lang.reflect.Method.invoke(未知来源) 处调用(未知来源) org.junit.internal.runners.model 处。 ReflectiveCallable.run(ReflectiveCallable.java:12) 在 org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) 在 org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)在 org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) 在 org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) 在 org.junit.runners.ParentRunner .runLeaf(ParentRunner.java:325) 在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) 在 org.junit.runners。 ParentRunner$3.run(ParentRunner.java:290) 在 org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 在 org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 在 org.junit .runners.ParentRunner.access$000(ParentRunner.java:58) 在 org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 在 org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java :26)在org.junit.runners.ParentRunner.run(ParentRunner.java:363)在org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)在org.eclipse.jdt。 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538) 在 org.eclipse.jdt.internal.junit 处的internal.junit.runner.TestExecution.run(TestExecution.java:38)。 runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner。主要(RemoteTestRunner.java:206)

Ami*_*ain 5

  1. 原生元素没有 css 属性。您不能在本机应用程序元素上使用此方法。

  2. 当你的上下文是 webview 时,你只能使用这个方法 getCssValue() 。