TestNG 6.13.1を使用して次の2つのテストを並行して実行しようとしています。ここでTestNG、gradle and android studioを使用して並行してテストを実行できない
は私が文書化GradleのTestNGのオプションを使用しようとしています私のtestng.xmlファイル
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default test suite">
<!--parallel="methods" thread-count="4">-->
<listeners>
<listener class-name="org.testng.reporters.XMLReporter"></listener>
</listeners>
<test name="SignIn Test" >
<classes>
<class name="com.android.testinglibrary.DeviceTesting.Appium.SignInTest"/>
</classes>
</test>
<test name="HealthCheck Test" >
<classes>
<class name="com.android.testinglibrary.DeviceTesting.Appium.HealthCheckTest"/>
</classes>
</test>
</suite>
です:https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/testing/testng/TestNGOptions.html のGradleテストAPIのドキュメントを見つけることができます: https://docs.gradle.org/current/dsl/org.gradle.api.tasks.testing.Test.html
私が実行しています私のbuild.gradleファイルに指定されているタスクの後に タスクreal {
description = "real"
tasks.withType(Test) {
useTestNG() {
//maxParallelForks = 2
options {
suites 'src/test/java/com/android/testinglibrary/DeviceTesting/Appium/testng.xml'
setParallel('tests')
setThreadCount(2)
}
}
}
}
は、私はそれが2つの並列スレッドで同じ「ヘルスチェックテスト」を実行し、これらの設定で、次のコマンド
gradlew real testinglibrary:testDebugUnitTest
を使用してWindows端末から上記のタスクを実行しています。したがって、それは発見された第1テストの実行を複製する。その後、シングルスレッドでSignIn Testを実行します。 理想的には、2つのスレッドで同時にHealthCheck TestとSignIn Testの両方を開始し、HealthCheck Testの実行を複製しないでください。 また、testng.xmlからスレッド数を読み取るようには見えないので、上記のtestng.xmlファイルでコメントアウトしています。 また、テストの並列化を行っていないので、// maxParallelForks = 2をbuild.gradleからコメントアウトしました。 gradle内のtestng apiがバグです。
私のappiumインテグレーションテストは、アンドロイドスタジオテストオートメーションフレームワークからTestNG、gradle(Mavenではない)を使用して並列化する方法を教えてください。
がここhttps://stackoverflow.com/questions/46106378/how-to-use-existing-testng-同じ問題を参照してください。XMLに対応する設定を使用するようにしてくださいsuite-xml-file-and-set-thread-counts-programmatically –
これは同じ問題ではないようです。スレッドカウントパラメータをプログラムで渡す必要はありません。私にとっては、gradleタスクの実行は、testng.xmlファイルから、またはgradleコマンドsetThreadCount(#)からスレッドカウントを読み取ることはありません。私が手動で右クリックしてtestng.xmlファイルを実行すると、スレッドカウントパラメータはまだ変化せず、すべてのテストが順番に実行されます。私はTestngのバグをクローズし、この問題に関してアンドロイドスタジオチームに問題を開いた。 – Parin
>右クリックしてtestng.xmlファイルを手動で実行すると、スレッド数パラメータがまだigonresになり、すべてのテストが順番に実行されます。 ''で定義されたスレッド(すでにmasterブランチで修正されている、GITHUB-1636を参照)がTestNG v13とv13.1にバグを起こします。回避策は、別のtestngバージョンを使用するか、 ''タグにスレッド数を定義することです。 –
kool79