Skip to content

Commit 3410a98

Browse files
committed
add tests for mobile permission commands
1 parent 59ba947 commit 3410a98

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

test/functional/android/android/mobile_commands_test.rb

+36
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,42 @@ def teardown
2626
save_reports(@driver)
2727
end
2828

29+
# @since Appium 1.12.0
30+
def test_permissions
31+
@driver = @core.start_driver
32+
33+
package = 'io.appium.android.apis'
34+
type = {
35+
denied: 'denied',
36+
granted: 'granted',
37+
requested: 'requested'
38+
}
39+
40+
action = {
41+
grant: 'grant',
42+
revoke: 'revoke'
43+
}
44+
45+
granted_permissions = @driver.execute_script 'mobile: getPermissions', { type: type[:granted], appPackage: package }
46+
assert granted_permissions.size == 14
47+
48+
assert @driver.execute_script('mobile: getPermissions', { type: type[:denied], appPackage: package }).empty?
49+
assert @driver.execute_script('mobile: getPermissions', { type: type[:requested], appPackage: package }).size == 14
50+
51+
permissions = ['android.permission.READ_CONTACTS']
52+
@driver.execute_script 'mobile: changePermissions',
53+
{ action: action[:revoke], appPackage: package, permissions: permissions }
54+
55+
granted_permissions = @driver.execute_script 'mobile: getPermissions', { type: type[:granted], appPackage: package }
56+
assert !granted_permissions.member?(permissions.first)
57+
58+
@driver.execute_script 'mobile: changePermissions',
59+
{ action: action[:grant], appPackage: package, permissions: permissions }
60+
61+
granted_permissions = @driver.execute_script 'mobile: getPermissions', { type: type[:granted], appPackage: package }
62+
assert granted_permissions.member?(permissions.first)
63+
end
64+
2965
# @since Appium 1.10.0
3066
def test_toast
3167
skip unless @core.automation_name == :espresso

0 commit comments

Comments
 (0)