5

我的应用程序有免费和付费两种口味。现在我们正在向在模拟服务器中运行的付费版本添加测试,我们需要以明文形式与其通信,因此尝试仅在 androidTestPaid 中添加网络安全配置(我们在主源根目录中没有) . 不幸的是,配置似乎被完全忽略了。

androidTestPaid/AndroidManifest.xml

<manifest ...>
    <application
        tools:node="merge"
        android:networkSecurityConfig="@xml/network_security_config"
        android:usesCleartextTraffic="true"
        ... />
    </application>
    <instrumentation android:name="...CustomTestRunner" ... />
</manifest>

androidTestPaid/res/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">127.0.0.1</domain>
    </domain-config>
</network-security-config>

在我们的 gradle 文件中,我们不会对特定于风味的 android 测试的源集做任何事情,但我们会为基础 android 测试做任何事情。这会导致问题吗?

构建.gradle

android {
    sourceSets {
         androidTest {
            java.srcDirs = ['src/androidTest/java', 'src/testShared/java']
            testOptions {
                animationsDisabled = true
            }
         }
         ... 
     }
     ...
}

什么会阻止在我们的测试中使用此配置?

4

0 回答 0