Selenium Tutorial: WordPress Automatisierung mit C# – Abschluss

Teil 3 – Selenium Testautomatisierungstutorial

Der Code muss jetzt nur noch etwas verfeinert werden.
Die PostIDs, die bearbeitet werden sollen, werden in eine Liste ausgelagert, über die anschließend mit foreach iteriert wird. Auch Login Bereich bekommt eine eigene Methode.

So, hier der komplette Code der Program.cs Datei.
Nun wird über 3 Posts iteriert und jedem Post ein neuer Tag hinzugefügt. Ich denke so ab 20-40 Posts, die bearbeitet werden sollen, lohnt sich der Aufwand für solche automatisierten Lösungen 🙂

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System.Collections.Generic;

namespace WordPressSeleniumAutomation
{
    class Program
    {
        static IWebDriver driver = new FirefoxDriver();

        static void Main(string[] args)
        {
            driver.Navigate().GoToUrl("http://www.testautomatisierung.org/wp-admin");

            Login("testuser", "test123");

            List<string> postIDs = new List<string>() { "1364", "1355", "1270"};

            foreach (string postID in postIDs)
            {
                GeheZuBeitrag(postID);
                SchlagwortHinzufuegen("testbeitrag");
                SpeichereBeitrag();
            }
        }
        public static void Login(string user, string password)
        {
            var user_login = driver.FindElement(By.Id("user_login"));
            var user_pass = driver.FindElement(By.Id("user_pass"));
            var login = driver.FindElement(By.Id("wp-submit"));

            user_login.SendKeys(user);
            user_pass.SendKeys(password);
            login.Click();
        }

        static void GeheZuBeitrag(string postID)
        {
            string post_url = string.Format("https://www.testautomatisierung.org/wp-admin/post.php?post={0}&action=edit", postID);
            driver.Navigate().GoToUrl(post_url);
        }

        static void SchlagwortHinzufuegen(string schlagwort)
        {
            var tag_field = driver.FindElement(By.Id("new-tag-post_tag"));
            var tag_add = driver.FindElement(By.XPath("//*[contains(@class,'tagadd')]"));

            tag_field.SendKeys(schlagwort);
            tag_add.Click();
        }

        static void SpeichereBeitrag()
        {
            var publish_btn = driver.FindElement(By.Id("publish"));
            publish_btn.Click();
        }


    }
}

Übersicht der Tutorial-Parts:
Tutorial Teil 1: Umgebung einrichten
Tutorial Teil 2: Skripterstellung
Tutorial Teil 3: Kompletter Code

2 Antworten

Trackbacks & Pingbacks

Hinterlassen Sie einen Kommentar

Wollen Sie an der Diskussion teilnehmen?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.