Dynamically load scapy when necessary

Remove the dependency of scapy for tests that don't use it by changing
common utilities to dynamically load the library when needed.

Bug: 247016808
Test: None
Change-Id: I9c272d6b39ce4c1d9bb7f44cea011a56b07b563b
diff --git a/acts_tests/acts_contrib/test_utils/net/net_test_utils.py b/acts_tests/acts_contrib/test_utils/net/net_test_utils.py
index c6086af..c789686 100644
--- a/acts_tests/acts_contrib/test_utils/net/net_test_utils.py
+++ b/acts_tests/acts_contrib/test_utils/net/net_test_utils.py
@@ -34,8 +34,6 @@
 from acts_contrib.test_utils.tel.tel_test_utils import verify_http_connection
 
 from acts_contrib.test_utils.wifi import wifi_test_utils as wutils
-from scapy.config import conf
-from scapy.compat import plain_str
 
 VPN_CONST = cconst.VpnProfile
 VPN_TYPE = cconst.VpnProfileType
@@ -572,6 +570,8 @@
         A list of the latest network interfaces. For example:
         ['cvd-ebr', ..., 'eno1', 'enx4afa19a8dde1', 'lo', 'wlxd03745d68d88']
     """
+    from scapy.config import conf
+    from scapy.compat import plain_str
 
     # Get ifconfig output
     result = job.run([conf.prog.ifconfig])
@@ -619,6 +619,8 @@
     Args:
         iface: network interface that need to enable
     """
+    from scapy.compat import plain_str
+
     result = job.run("sudo ifconfig %s up" % (iface), ignore_status=True)
     if result.exit_status:
         raise asserts.fail(