155 lines
6.6 KiB
C#
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();
|
|
}
|
|
}
|
|
} |