Skip to main content

[Mobile] Get Attribute

Description

Get a specific attribute of a mobile element.

Keyword name: Mobile.getAttribute

Parameters

ParamParam TypeRequiredDescription
toTestObjectYesRepresents a mobile element.
nameStringYesName of the attribute to get.
timeoutintYesMaximum period of time (in seconds) that system will wait to return a result.
flowControlFailureHandlingOptionalSpecify failure handling schema to determine whether the execution should be allowed to continue or stop.

Returns

Param TypeDescription
StringValue of the attribute.

Example

You want to get the attribute "text" of the object android.widget.TextView - App:
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory as CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as MobileBuiltInKeywords
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testcase.TestCaseFactory as TestCaseFactory
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WSBuiltInKeywords
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUiBuiltInKeywords
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable

'Start application on current selected android device'
Mobile.startApplication(GlobalVariable.G_AndroidApp, false)

'Get text of android.widget.TextView - App'
Mobile.getAttribute(findTestObject('Application/android.widget.TextView - App'), 'text', 5)

'Close application on current selected android device'
Mobile.closeApplication()


Troubleshooting: Unable to get value of content-desc attribute

When using the Mobile.getAttribute keyword to retrieve the value of the content-desc attribute for an element, you might encounter an issue where the returned value is empty. For example:
//*[@class = 'android.view.View' and @content-desc = 'Unable to Process Request' and @resource-id = '' and (@text = '' or . = '')]
Cause

This issue happens because some mobile platforms use contentDescription instead of content-desc for the attribute name.

Remedy
Replace content-desc with contentDescription in your script. For example:
Mobile.getAttribute(yourObjectElement, 'contentDescription', 5, FailureHandling.OPTIONAL)
Was this page helpful?