Adding WiFi use cases in WifiTeleCoex Test
Bug: 196535768
Test: Local verify
Change-Id: I571ee5dc82f95086bac808885f5ff450cade2cd0
diff --git a/acts_tests/tests/google/wifi/WifiTeleCoexTest.py b/acts_tests/tests/google/wifi/WifiTeleCoexTest.py
index 6619ba4..7260919 100644
--- a/acts_tests/tests/google/wifi/WifiTeleCoexTest.py
+++ b/acts_tests/tests/google/wifi/WifiTeleCoexTest.py
@@ -6,6 +6,7 @@
import acts.base_test
import acts_contrib.test_utils.wifi.wifi_test_utils as wifi_utils
import acts_contrib.test_utils.tel.tel_test_utils as tele_utils
+import acts_contrib.test_utils.tel.tel_mms_utils as mms_utils
import acts.utils
from acts import asserts
@@ -28,6 +29,7 @@
WIFI_SSID = "wifi_network_ssid"
WIFI_PWD = "wifi_network_pass"
STRESS_COUNT = "stress_iteration"
+DEFAULT_TIMEOUT = 10
class WifiTeleCoexTest(TelephonyBaseTest):
"""Tests for WiFi, Celular Co-existance."""
@@ -57,6 +59,7 @@
for ad in self.android_devices:
ad.droid.wakeLockAcquireBright()
ad.droid.wakeUpNow()
+ ad.droid.telephonyToggleDataConnection(True)
wifi_utils.wifi_toggle_state(self.dut, True)
@@ -64,8 +67,9 @@
""" End test make sure the DUT return idle"""
for ad in self.android_devices:
wifi_utils.reset_wifi(ad)
+ ad.droid.telephonyToggleDataConnection(False)
tele_utils.ensure_phones_idle(self.log, self.android_devices)
-
+ nutil.stop_usb_tethering(self.dut)
"""Helper Functions"""
@@ -453,4 +457,121 @@
self.connect_to_wifi(self.dut, self.network)
except:
raise signals.TestFailure("The Wifi connect failed after modem restart."
- "WiFi State = %d" %self.dut.droid.wifiCheckState())
\ No newline at end of file
+ "WiFi State = %d" %self.dut.droid.wifiCheckState())
+
+ @test_tracker_info(uuid="a72ff9da-3855-4c21-b447-b80f43227961")
+ @TelephonyBaseTest.tel_test_wrap
+ def test_internet_accessing_over_wifi_and_mms_test(self):
+
+ """Verify when MMS is working WLAN connection can work normally as well.
+
+ Raises:
+ signals.TestFailure: Internet_connection is stop
+
+ Steps:
+ 1. Connect to WiFi
+ 2. Prepare two DUT for testing (DUT1 and DUT2)
+ 3. Send 5 MMS from DUT1 to DUT2
+
+ Verification:
+ The internet cannot be impacted by MMS delivery.
+ MMS can be sent / received successfully and content is correct.
+ """
+ self.dut1 = self.android_devices[0]
+ self.dut2 = self.android_devices[1]
+ self.connect_to_wifi(self.dut1, self.network)
+ wifi_utils.wifi_toggle_state(self.dut2, True)
+ self.connect_to_wifi(self.dut2, self.network)
+ mms = 5
+ for count in range(mms):
+ mms_utils._mms_test(self.log, self.ads)
+ if not tele_utils.verify_internet_connection(
+ self.dut2.log, self.dut2):
+ raise signals.TestFailure("The internet connection is stop."
+ "Current WiFi state is %d"
+ % self.dut2.droid.wifiCheckState())
+ time.sleep(30)
+
+ @test_tracker_info(uuid="a7d774e4-ead3-465c-b4a6-f39a6397dfe3")
+ @TelephonyBaseTest.tel_test_wrap
+ def test_internet_accessing_wifi_and_data_test(self):
+
+ """Verify interwork between Wi-Fi and data.
+
+ Raises:
+ signals.TestFailure: Internet_connection is stop for WiFi off or
+ Data off
+
+ Steps:
+ 1. Connect to WiFi
+ 2. To Wi-Fi and data switched for 5 times,
+ 3. DUT is kept awake during testing.
+ Verification:
+ The internet cannot be impacted after data path switched
+
+ """
+ self.dut = self.android_devices[0]
+ self.connect_to_wifi(self.dut, self.network)
+ data_count = 5
+ for count in range(data_count):
+ wifi_utils.wifi_toggle_state(self.dut, False)
+ time.sleep(60)
+ if not tele_utils.verify_internet_connection(
+ self.dut.log, self.dut):
+ raise signals.TestFailure(
+ "The internet connection is stop"
+ "for WiFi off. Current WiFi state is %d"
+ % self.dut.droid.wifiCheckState())
+ wifi_utils.wifi_toggle_state(self.dut, True)
+ time.sleep(DEFAULT_TIMEOUT)
+ self.dut.log.info("DUT data is disable")
+ self.dut.droid.telephonyToggleDataConnection(False)
+ time.sleep(30)
+ if not tele_utils.verify_internet_connection(
+ self.dut.log, self.dut):
+ raise signals.TestFailure(
+ "The internet connection is stop"
+ "for Data off. Current WiFi state is %d"
+ % self.dut.droid.wifiCheckState())
+ self.dut.log.info("DUT data is enable")
+ self.dut.droid.telephonyToggleDataConnection(True)
+ time.sleep(DEFAULT_TIMEOUT)
+
+ @test_tracker_info(uuid="e53adef6-d537-4098-a354-1e63457ab444")
+ @TelephonyBaseTest.tel_test_wrap
+ def test_internet_accessing_wifi_and_usb_tethering(self):
+
+ """Verify interwork between Wi-Fi and USB_TETHERED.
+
+ Raises:
+ signals.TestFailure: Internet_connection is stop for enable or
+ disable USB tethering
+
+ Steps:
+ 1.Connect to WiFi
+ 2. enable/disable USB tethering for 5 cycles,
+
+ Verification:
+ The Internet cannot be impacted after enable/disable USB tethering
+
+ """
+ self.dut = self.android_devices[0]
+ nutil.verify_lte_data_and_tethering_supported(self.dut)
+ self.connect_to_wifi(self.dut, self.network)
+ usb_count = 5
+ for count in range(usb_count):
+ time.sleep(DEFAULT_TIMEOUT)
+ nutil.start_usb_tethering(self.dut)
+ time.sleep(DEFAULT_TIMEOUT)
+ if not tele_utils.verify_internet_connection(
+ self.dut.log, self.dut):
+ raise signals.TestFailure("The internet connection is stop"
+ "for tethering enable. Current WiFi state is %d"
+ % self.dut.droid.wifiCheckState())
+ nutil.stop_usb_tethering(self.dut)
+ time.sleep(DEFAULT_TIMEOUT)
+ if not tele_utils.verify_internet_connection(
+ self.dut.log, self.dut):
+ raise signals.TestFailure("The internet connection is stop"
+ "for tethering disable. Current WiFi state is %d"
+ % self.dut.droid.wifiCheckState())