C# 有人能帮忙吗;名称';posttype';“在当前上下文中不存在”;错误
……因此,我创建了以下类,作为我的自动测试包的一部分,但我在“ListPostsPage.GoTo(PostType.Page)”代码行中遇到一个错误,提示:“名称PostType在当前上下文中不存在”。此类的代码如下所示:C# 有人能帮忙吗;名称';posttype';“在当前上下文中不存在”;错误,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,……因此,我创建了以下类,作为我的自动测试包的一部分,但我在“ListPostsPage.GoTo(PostType.Page)”代码行中遇到一个错误,提示:“名称PostType在当前上下文中不存在”。此类的代码如下所示: using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Collections.Generic; using System.Linq; using System.Text;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WordpressTests
{
[TestClass]
public class PageTests
{
[TestInitialize]
public void Init()
{
Driver.Initialise();
}
[TestMethod]
public void CanEditAPage()
{
LoginPage.GoTo();
LoginPage.LoginAs("XXXXXX").WithPassword("XXXXXX").Login();
**ListPostsPage.GoTo(PostType.Page);**
ListPostsPage.SelectPost("Sample Page");
Assert.IsTrue(NewPostPage.IsInEditMode(), "Wasn't in edit mode");
Assert.AreEqual("Sample Page", NewPostPage.Title, "Title did not match");
}
[TestCleanup]
public void Cleanup()
{
Driver.Close();
}
}
}
仅供参考,ListPostsPage类的代码如下:
using OpenQA.Selenium;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WordpressTests
{
public class ListPostsPage
{
public static void GoTo(PostType postType)
{
switch (postType)
{
case PostType.Page:
Driver.Instance.FindElement(By.Id("menu-pages")).Click();
Driver.Instance.FindElement(By.LinkText("All Pages")).Click();
break;
}
}
public static void SelectPost(string title)
{
var postLink = Driver.Instance.FindElement(By.LinkText("Sample Page"));
postLink.Click();
}
public enum PostType
{
Page
}
}
}
有没有人对这个问题有什么想法?请记住,我对这一点还不太熟悉,所以请友好一点!:-)
任何帮助都将不胜感激
干杯
Andy
PostType
是ListPostsPage
的枚举成员,但您试图像访问静态类一样访问它
您应该这样做:
ListPostsPage.GoTo(ListPostsPage.PostType.Page);
作为一点,我想指出,使用Selenium实现页面对象模型将使您受益匪浅。在您的代码中,一切都是静态的!