本篇文章给大家带来的内容是关于Appium和java获取元素状态的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
元素的属性我们经常会用到,当定位到某个元素后,有时会需要用到这个元素的text值、className、resource-id、checked等。
一般标准的属性我们都可以通过get_attribute(“属性名称”)来获取,我们来看看下面截图的元素都是怎么获取的吧。从上到下来看。
我们从text开始讲,我们先通过xpath方式定位到这个元素
public class UIdemoTest { private AndroidDriver driver; @Before public void setUp() throws Exception { //设置并启动“app” File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "apps"); File app = new File(appDir, "com.sdu.doo.gsui.apk"); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("noReset", true);//不需要每次安装app capabilities.setCapability("deviceName", "85GBBMD22AJY"); capabilities.setCapability("automationName", "Appium"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("platformVersion", "5.1"); capabilities.setCapability("autoGrantPermissions","ture");//允许在手机上安装该app capabilities.setCapability("appPackage", "com.sdu.doo.gsui"); capabilities.setCapability("appActivity", "com.doo.driver.sdk.LauncherActivity"); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), (Capabilities) capabilities); } @After public void tearDown() throws Exception { } @Test public void login () throws InterruptedException { // clearText(By.xpath()); driver.findElement(By.xpath("//android.widget.EditText[@resource-id='com.sdu.didi.gsui:id/et_phone' and @text = '请输入手机号码']")).click(); driver.pressKeyCode(8);driver.pressKeyCode(8);driver.pressKeyCode(7);driver.pressKeyCode(7);driver.pressKeyCode(7); driver.pressKeyCode(7);driver.pressKeyCode(7);driver.pressKeyCode(7);driver.pressKeyCode(13);driver.pressKeyCode(15); driver.pressKeyCode(8); Thread.sleep(1000); // WebElement element = (WebElement) By.xpath("//android.widget.CheckBox[@resource-id='com.sdu.didi.gsui:id/cb_law' and @checked = 'false']"); // WebElement element1 = (WebElement) By.id("com.sdu.didi.gsui:id/cb_law"); WebElement element = driver.findElement(By.xpath("//android.widget.CheckBox[@text = '同意']")); System.out.println(element.getAttribute("checked")); if (element.getAttribute("checked") == "false"){ driver.findElement(By.id("com.sdu.didi.gsui:id/cb_law") ).click();//同意 } driver.findElement(By.id("com.sdu.didi.gsui:id/btn_next")).click();//下一步 }
依次获取元素状态的方法有:
element.getAttribute("checked")element.getAttribute("text") element.getAttribute("resource-id") element.getAttribute("name") name是获取content-desc的值 element.size() element.location()
以此类推...
特注意一点:元素里只要属性值是布尔型的,即false or true。都可以通过这个方法来获取,就不一一列出了。这里的第二种方法经常用到,重点掌握!!
以上就是本篇文章的全部内容了,关于Java的更多精彩可以关注PHP中文网的Java视频教程和Java开发教程栏目!!!
以上是Appium和java获取元素状态的方法介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

Javaremainsagoodlanguageduetoitscontinuousevolutionandrobustecosystem.1)Lambdaexpressionsenhancecodereadabilityandenablefunctionalprogramming.2)Streamsallowforefficientdataprocessing,particularlywithlargedatasets.3)ThemodularsystemintroducedinJava9im

Javaisgreatduetoitsplatformindependence,robustOOPsupport,extensivelibraries,andstrongcommunity.1)PlatformindependenceviaJVMallowscodetorunonvariousplatforms.2)OOPfeatureslikeencapsulation,inheritance,andpolymorphismenablemodularandscalablecode.3)Rich

Java的五大特色是多态性、Lambda表达式、StreamsAPI、泛型和异常处理。1.多态性让不同类的对象可以作为共同基类的对象使用。2.Lambda表达式使代码更简洁,特别适合处理集合和流。3.StreamsAPI高效处理大数据集,支持声明式操作。4.泛型提供类型安全和重用性,编译时捕获类型错误。5.异常处理帮助优雅处理错误,编写可靠软件。

java'stopfeatureSnificallyEnhanceItsperFormanCeanDscalability.1)对象 - 方向 - incipleslike-polymormormormormormormormormormormormormorableablefleandibleandscalablecode.2)garbageCollectionAutoctionAutoctionAutoctionAutoctionAutoctionautomorymanatesmemorymanateMmanateMmanateMmanagementButCancausElatenceiss.3)

JVM的核心组件包括ClassLoader、RuntimeDataArea和ExecutionEngine。1)ClassLoader负责加载、链接和初始化类和接口。2)RuntimeDataArea包含MethodArea、Heap、Stack、PCRegister和NativeMethodStacks。3)ExecutionEngine由Interpreter、JITCompiler和GarbageCollector组成,负责bytecode的执行和优化。

Java'ssafetyandsecurityarebolsteredby:1)strongtyping,whichpreventstype-relatederrors;2)automaticmemorymanagementviagarbagecollection,reducingmemory-relatedvulnerabilities;3)sandboxing,isolatingcodefromthesystem;and4)robustexceptionhandling,ensuringgr

javaoffersseveralkeyfeaturesthatenhancecodingskills:1)对象 - 方向 - 方向上的贝利奥洛夫夫人 - 启动worldentities

thejvmisacrucialcomponentthatrunsjavacodebytranslatingitolachine特定建筑,影响性能,安全性和便携性。1)theclassloaderloader,links andinitializesClasses.2)executionEccutionEngineExecutionEngineExecutionEngineExecuteByteCuteByteCuteByteCuteBytecuteBytecuteByteCuteByteCuteByteCuteBytecuteByteCodeNinstRonctientions.3)Memo.3)Memo


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

禅工作室 13.0.1
功能强大的PHP集成开发环境

WebStorm Mac版
好用的JavaScript开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6
视觉化网页开发工具