Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
We don't have a way to export this macro.
Info

This page concerns only measure on android device, if you want to measure on iphoneiPhone, you can follow this link:

Lancer un script gdsl avec le testrunner sur iOS (sans mesure physique) 

With UIAutomatorViewer (recommanded)

...

Table of Contents
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printabletrue

1. Install UIAutomatorViewer

  • Install Android Studio if you don’t have it

  • Open Android Studio

  • Click on More Actions > SDK Manager (or Tools > SDK Manager if a project is open)

  • Click on the SDK tools tab, uncheck option "Hide Obsolete Packages"

  • Check option “Android SDK Tools” and install version 26.1.1

  • UIautomatorviewer UIAutomatorViewer is now installed in Android SDK directory

Default path for linux :

$HOME\Android\Sdk\tools\bin

Default path for mac :

  • Add UIAutomatorViewer to your path:

    • On Linux: add the line export PATH=$HOME/Android/Sdk/tools/bin:$PATH in the .bashrc file and run the command "source ~/.bashrc"

    • On Mac: add the line export PATH=$HOME/Library/Android/sdk/tools/bin

...

Default path for windows :

...

    • :$PATH in the .bash_profile file and run the command "source ~/.bash_profile"

    • On Windows: Windows start menu > Settings > System > About > Advanced settings > Environment variables > Path > Modify > Add the path C:\Users\[username]\AppData\Local\Android\Sdk\tools\bin

...

    • . Replace username by the name of the user.

Info

UIAutomatorViewer needs Java 1.8 by default to work

...

2. Launch UIAutomatorViewer

Check your java version with the following command:

Code Block
languagebash
java -version

2.1. Launch UIAutomatorViewer without installing Java 1.8

Note

If you use a Mac, please follow the next part.

To avoid installing a different version of javaJava, you could : set environment variables for your PC profile:

Default path for windows

Default path for Linux

c

Linux

Windows

ANDROID_HOME

add this variable to precise the path on the sdk android

Edit the ~/.bashrc file:

export ANDROID_HOME=$HOME/Android/Sdk

Windows start menu > Settings > System > About > Advanced settings > Environment variables > Path > Add:

C:\Users\

USER

[username]\AppData\Local\Android\Sdk

$home\android\sdk

c:\Program Files\Android\Android Studio\jbr

if

Replace username by the name of the user.

JAVA_HOME

add this variable to set the path to the JDK. you can use the jdk installed by android studio

Edit the ~/.bashrc file:

export JAVA_HOME=$HOME/android-studio/jbr

If jbr is not present (old version of Android Studio

,

) replace it by jre

)$home\android-studio

.

Windows start menu > Settings > System > About > Advanced settings > Environment variables > Path > Add:

C:\Program Files\Android\Android Studio\jbr

if

If jbr is not present (old version of Android Studio

,

) replace it by jre

)

.

PATH

Complete the path by adding the path to directory containing the java executable.
Do not replace PATH value, only add new entry

%JAVA_HOME%\bin

Edit the ~/.bashrc file:

export PATH=$JAVA_HOME/bin:$PATH

Windows start menu > Settings > System > About > Advanced settings > Environment variables > Path > Modify > Add the path:

$JAVA_HOME\bin

After adding the variables, you can open a new terminal (this is important to open a new terminal to take into account the variable variables you have just set) and use the following command to open uiautomatorviewer UIAutomatorViewer :

For Windows On Linux :

Code Block
languagebash
java -Xmx1600M -Dcom.android.uiautomator.bindir="%ANDROID$ANDROID_HOME%\HOME/tools" -cp "%ANDROID$ANDROID_HOME%\HOME/tools\/lib\/x86_64\/swt.jar";:"%ANDROID$ANDROID_HOME%\HOME/tools\/lib\/*" com.android.uiautomator.UiAutomatorViewer  

For Linux On Windows :

Code Block
languagebash
java -Xmx1600M -Dcom.android.uiautomator.bindir="$ANDROID%ANDROID_HOME/HOME%\tools" -cp "$ANDROID%ANDROID_HOME/HOME%\tools/\lib/\x86_64/\swt.jar":;"$ANDROID%ANDROID_HOME/HOME%\tools/\lib/\*" com.android.uiautomator.UiAutomatorViewer  
  • The following program appears :

...

...

2.2. Launch UIAutomatorViewer with Java 1.8

...

Install Java 1.8:

  • On Linux, do this on a new terminal run the following commands:

Code Block
languagebash
# Install java 8
sudo apt-get install openjdk-8-jdk
# Check java version
java -version
# Update the java default version use by your system (if you have several)
sudo update-alternatives --config java
  • On Mac with Intel chip, run the command below, add the line export PATH=/usr/local/opt/openjdk@8/bin:$PATH in the .bash_profile file and run the command "source ~/.bash_profile":

Code Block
languagebash
brew install openjdk@8
  • On Mac with Mac chip, run the commands below, add the line export PATH=/Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home/bin:$PATH in the .bash_profile file and run the command "source ~/.bash_profile"

Code Block
languagebash
brew tap homebrew/cask-versions
brew install --cask temurin@8
  • On Windows, install Java 1.8 by getting it on Oracle site web, the Oracle website. You need to create an account.

Launch UIAutomatorViewer:

  • On Linux , on a new terminal, go to the directory “$HOME/Android/Sdk/tools/bin” and tap the and Mac, run the following command:

Code Block
languagebash
uiautomatorviewer
  • On Windows, on a new terminal, go to the directory “C:\Users\[username]\AppData\Local\Android\Sdk\tools\bin” and tap run the following command:

Code Block
languagebash
uiautomatorviewer.bat

The following program appears :

...

Using UIAutomatorviewer

...

Info

On Mac, interactions may be impossible with UIAutomatorViewer.

If it is the case, do the following steps:

With some Mac, you also have to create a folder called aarch64 next to the folder called x86_64. Then, you have to copy the swt2.jar file into the new folder.

3. Use UIAutomatorviewer

When UIAutomatorViewer is opened, you can

  • Plug your usb on your smartphone

  • Click on button “Device screenshot”

  • A screen capture and a dump of view hierarchy appears on the screen

...

  • In this case, the tab “Actu” have the field ‘text’ set with ‘Actu’. So in GDSL we can search the text Actu to find this tab (if there is no other element with the same text in the screen).

  • Each element of a view can be retrieve by field ‘text’, ‘resource-id’, ‘class’ or ‘content-desc’. GDSL commands are made to find an element by searching on this field

    • clickById,exampleid : click on an element which have exampleid in resource-id field

    • waitUntilText,Actu : Wait an element which have ‘Actu’ in text field

...

On macOS, interactions may be impossible with uiautomatorviewer.

If it is the case, do the following steps:

...

Download swt here: https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.20-202106111600/swt-4.20-cocoa-macosx-x86_64.zip

...

Extract the folder and open it

...

Rename swt.jar file to swt2.jar

...

Copy the file in the following folder: $HOME/Library/Android/sdk/tools/lib/x86_64

...