ここのドキュメントの例を実行しようとしています。
私は MSTest で Visual Studio を使用しているので、コードを少し変更したところ、次のようになりました。
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using FluentAutomation;
using FluentAutomation.Interfaces;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace UnitTestProject1
{
public class BingSearchPage : PageObject
{
public BingSearchPage(FluentTest test)
: base(test)
{
Url = "http://bing.com/";
At = () => I.Expect.Exists(SearchInput); //Documentation says "At = () =>; I.Expect.Exists(SearchInput);" but I think that's a typo
}
public BingSearchResultsPage Search(string searchText)
{
I.Enter(searchText).In(SearchInput);
I.Press("{ENTER}");
return this.Switch();
}
private const string SearchInput = "input[title='Enter your search term']";
}
public class BingSearchResultsPage : PageObject
{
public BingSearchResultsPage(FluentTest test)
: base(test)
{
At = () => I.Expect.Exists(SearchResultsContainer);
}
public BingSearchResultsPage FindResultUrl(string url)
{
I.Expect.Exists(string.Format(ResultUrlLink, url));
return this;
}
private const string SearchResultsContainer = "#b_results";
private const string ResultUrlLink = "a[href='{0}']";
}
[TestClass]
public class UnitTest1 : FluentTest
{
public UnitTest1()
{
SeleniumWebDriver.Bootstrap(SeleniumWebDriver.Browser.Chrome);
}
[TestMethod]
public void SearchForFluentAutomation()
{
new BingSearchPage(this)
.Go()
.Search("FluentAutomation")
.FindResultUrl("http://fluent.stirno.com/blog/FluentAutomation-scriptcs/");
}
}
}
次のようなエラーが表示されます。
エラー 1 'FluentAutomation.PageObject' には、1 つの引数を受け取るコンストラクターが含まれていません C:\Users\Shitij\Documents\Visual Studio 2013\Projects\UnitTestProject1\UnitTestProject1\UnitTest1.cs 13 15 UnitTestProject1
エラー 2 The name 'I' does not exist in the current context C:\Users\Shitij\Documents\Visual Studio 2013\Projects\UnitTestProject1\UnitTestProject1\UnitTest1.cs 16 20 UnitTestProject1
エラー 3 'UnitTestProject1.BingSearchPage' には 'Switch' の定義が含まれておらず、タイプ 'UnitTestProject1.BingSearchPage' の最初の引数を受け入れる拡張メソッド 'Switch' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?) C:\Users\Shitij\Documents\Visual Studio 2013\Projects\UnitTestProject1\UnitTestProject1\UnitTest1.cs 23 25 UnitTestProject1
ばかげた質問のように感じますが、私はそれにこだわっています。私が間違っていることは何ですか?プロパティ「I」はFluentTestクラスにあるようですが、PageObjectから派生したクラスでそれを使用するドキュメントはどうですか?