[Mobile] Get Attribute
Description
Get a specific attribute of a mobile element.
Keyword name: Mobile.getAttribute
Parameters
Param | Param Type | Required | Description |
---|---|---|---|
to | TestObject | Yes | Represents a mobile element. |
name | String | Yes | Name of the attribute to get. |
timeout | int | Yes | Maximum period of time (in seconds) that system will wait to return a result. |
flowControl | FailureHandling | Optional | Specify failure handling schema to determine whether the execution should be allowed to continue or stop. |
Returns
Param Type | Description |
---|---|
String | Value 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)