任何人都可以帮助#34;名称' posttype'在当前背景下不存在"错误

时间:2014-09-19 15:42:02

标签: c# selenium selenium-webdriver

.......所以,我有下面的类,我已经创建了自动化测试包的一部分,但我收到了一个错误反对' ListPostsPage.GoTo(PostType.Page)& #39;代码行,建议:'名称PostType在当前上下文中不存在'。这个类的代码如下:

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
    }

  }
}

有没有人对这个问题有什么想法?请记住我对此很新,所以请你好! :-)

非常感谢任何帮助。

干杯

安迪

1 个答案:

答案 0 :(得分:1)

PostTypeListPostsPage的枚举成员,但您尝试访问它,就像它是静态类一样。

你应该这样做:

ListPostsPage.GoTo(ListPostsPage.PostType.Page);