Files
Umbraco-CMS/src/Umbraco.Tests/Integration/CreateContent.cs

155 lines
6.6 KiB
C#

using System;
using System.Runtime.InteropServices;
using System.Threading;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Interactions;
using Umbraco.Tests.TestHelpers;
namespace Umbraco.Tests.Integration
{
[Ignore("We don't want to run Selenium tests on TeamCity")]
[TestFixture]
public class CreateContent : BaseSeleniumTest
{
[SetUp]
public override void Initialize()
{
base.Initialize();
}
[TearDown]
public void TearDown()
{
base.TearDown();
}
[Test]
public void Install_StarterKit_And_Create_Textpage()
{
// Login to Umbraco
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/login.aspx?redir=");
Driver.FindElement(By.Id("lname")).Clear();
Driver.FindElement(By.Id("lname")).SendKeys("admin");
Driver.FindElement(By.Id("passw")).Clear();
Driver.FindElement(By.Id("passw")).SendKeys("test");
Driver.FindElement(By.Id("Button1")).Click();
Thread.Sleep(500);
// Install starter kit
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/umbraco.aspx#developer");
Thread.Sleep(2000);
var builder = new Actions(Driver);
var packagesNode = Driver.FindElement(By.XPath("//*[@id='init'][3]"));
builder.MoveToElement(packagesNode).DoubleClick().Build().Perform();
Thread.Sleep(500);
var installStarterKitNode = Driver.FindElement(By.XPath("(//li[@id='-1']/a/div)[4]"));
builder.MoveToElement(installStarterKitNode).Click().Build().Perform();
Thread.Sleep(500);
var rightFrame = Driver.FindElement(By.XPath("//*[@id='right']"));
Driver.SwitchTo().Frame(rightFrame);
Thread.Sleep(500);
var simpleKit = Driver.FindElement(By.XPath("/html/body/form/div[2]/div[2]/div/div/div/div/div[4]/nav/ul/li[1]/a"));
builder.MoveToElement(simpleKit).Click().Build().Perform();
Thread.Sleep(6000);
// Create new content
Driver.SwitchTo().DefaultContent();
Driver.Navigate().GoToUrl(BaseUrl + "/umbraco/umbraco.aspx#content");
Thread.Sleep(500);
var contentNode = Driver.FindElement(By.XPath("//*[@id = 'JTree_TreeContainer']/div/ul/li/ul/li/a/div"));
builder.MoveToElement(contentNode).ContextClick().Build().Perform();
Thread.Sleep(1000);
var createButton = Driver.FindElement(By.XPath("//*[@id = 'jstree-contextmenu']/li[1]/a/span/div[2]"));
createButton.Click();
Thread.Sleep(500);
var umbracoModalBoxIframe = Driver.FindElement(By.CssSelector(".umbModalBoxIframe"));
Driver.SwitchTo().Frame(umbracoModalBoxIframe);
var createTextBox = Driver.FindElement(By.XPath("//input[@type='text'][1]"));
createTextBox.Clear();
createTextBox.SendKeys("Test Page");
var submitButton = Driver.FindElement(By.XPath("//input[@type='submit'][1]"));
submitButton.Click();
Thread.Sleep(2000);
Driver.SwitchTo().Frame(rightFrame);
var saveAndPublishButton = Driver.FindElement(By.XPath("//*[@id='body_TabView1_tab01layer_publish']"));
saveAndPublishButton.Click();
Thread.Sleep(2000);
var contentArea = Driver.FindElement(By.XPath("//*[@id='body_TabView1']"));
Assert.IsNotNull(contentArea);
Thread.Sleep(500);
// Perform delete
Driver.SwitchTo().DefaultContent();
var installingModulesNode = Driver.FindElement(By.XPath("//*[@id='1052']/a/div"));
builder.MoveToElement(installingModulesNode).ContextClick().Build().Perform();
Thread.Sleep(1000);
var deleteButton = Driver.FindElement(By.CssSelector(".sprDelete"));
deleteButton.Click();
var alert = Driver.SwitchTo().Alert();
alert.Accept();
Thread.Sleep(1000);
// Perform move
var goFurtherNode = Driver.FindElement(By.XPath("//*[@id='1053']/a/div"));
builder.MoveToElement(goFurtherNode).ContextClick().Build().Perform();
Thread.Sleep(1000);
var moveButton = Driver.FindElement(By.CssSelector(".sprMove"));
moveButton.Click();
Thread.Sleep(2000);
umbracoModalBoxIframe = Driver.FindElement(By.CssSelector(".umbModalBoxIframe"));
Driver.SwitchTo().Frame(umbracoModalBoxIframe);
var rootNode = Driver.FindElement(By.XPath("//*[@id='1051']"));
builder.MoveToElement(rootNode).DoubleClick().Build().Perform();
Thread.Sleep(500);
var gettinStartedNode = Driver.FindElement(By.XPath("//*[@id='1055']/a/div"));
builder.MoveToElement(gettinStartedNode).Click().Build().Perform();
Thread.Sleep(500);
submitButton = Driver.FindElement(By.XPath("//input[@type='submit'][1]"));
builder.MoveToElement(submitButton).Click().Build().Perform();
Thread.Sleep(2000);
var closeLink = Driver.FindElement(By.XPath("/html/body/form/div[2]/p[2]/a"));
builder.MoveToElement(closeLink).Click().Build().Perform();
Driver.SwitchTo().DefaultContent();
Thread.Sleep(1000);
// Perform copy
var gettingStartedNode = Driver.FindElement(By.XPath("//*[@id='1054']/a/div"));
builder.MoveToElement(gettingStartedNode).ContextClick().Build().Perform();
Thread.Sleep(1000);
var copyButton = Driver.FindElement(By.CssSelector(".sprCopy"));
copyButton.Click();
Thread.Sleep(2000);
umbracoModalBoxIframe = Driver.FindElement(By.CssSelector(".umbModalBoxIframe"));
Driver.SwitchTo().Frame(umbracoModalBoxIframe);
rootNode = Driver.FindElement(By.XPath("//*[@id='1051']"));
builder.MoveToElement(rootNode).DoubleClick().Build().Perform();
Thread.Sleep(500);
submitButton = Driver.FindElement(By.XPath("//input[@type='submit'][1]"));
builder.MoveToElement(submitButton).Click().Build().Perform();
Thread.Sleep(2000);
closeLink = Driver.FindElement(By.XPath("/html/body/form/div[2]/p[2]/a"));
builder.MoveToElement(closeLink).Click().Build().Perform();
}
}
}