私はローカルに(PC上で)完璧に動作し、TCで完全に動作するテスト(ファイルをアップロード)しています。 しかし、!それは私がMSTSC(私のサーバー上のリモートデスクトップ - Windowsサーバー2012)を実行しているときにTC上でのみうまく動作し、実際にテストが実行されているのを見ています。Teamcityでのみテストが失敗する
TeamCityビルドエージェントの一部としてトリガーが実行されていて、リモートデスクトップにいない間にテストを実行すると、失敗します。 ところで、私もTeamCityビルドエージェントでテストを実行しようとしましたが、その方法でも失敗します。 私がポップアップするウィンドウを開いているダイアログを起動するために要素をクリックしていますし、次の使用:
public static void OpenFileNew(string FileNameToAttach)
{
Process pp = Process.GetCurrentProcess();
if (pp != null)
{
IntPtr h = pp.MainWindowHandle;
SetForegroundWindow(h);
}
SendKeys.SendWait("\\\\nas01\\qa\\TestFiles\\" + FileNameToAttach);
Thread.Sleep(3000);
SendKeys.SendWait("{ENTER}");
Thread.Sleep(3000);
}
次のステップは、私はtd
タグ変数は、特定のテキストを持っているかどうかをチェックしてるということです。 ファイルをアップロードした後、td
には、アップロードされたばかりの完全なファイル名を含める必要があります。
public bool CheckFileNameToUploadExists(string FullFileName)
{
bool IsFileExist = false;
WebDriverWait wait = new WebDriverWait(_webdriver, new TimeSpan(0, 0, 30));
var TDs = wait.Until(x => x.FindElements(By.TagName("td")));
for (int i = 0; i < TDs.Count - 1; i++)
{
var td = TDs[i].Text.ToString();
Thread.Sleep(2000);
_test.Log(LogStatus.Pass, td);
if(td == FullFileName)
IsFileExist = true;
}
return IsFileExist;
}
アサーションが存在しない場合、アサーションが呼び出されています。それはactaully失敗です。
「エラーメッセージ」とは何ですか? – Smartis
これは、実際のウィンドウが「対話モード」でポップアップする要件に関連する可能性があります。これは、リモートデスクトップセッションが接続されていない状態で実行すると不可能かもしれません。あなたのコードは、キーを押したり、ウィンドウを移動させたりできるインタラクティブな環境を想定しているようです。アクティブなRDPセッションがない場合、これは当てはまりません。 – Baldrick
が私の投稿を編集しました。それが何かを意味するならば。 –