微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有一种方法可以将用于身份验证的JWT令牌传递到C#Asp.net Core中的Selenium WebDriver中?

如何解决有没有一种方法可以将用于身份验证的JWT令牌传递到C#Asp.net Core中的Selenium WebDriver中?

我需要一种在WebAPI自动化上对自己进行身份验证的方法。我已经提取了承载令牌并将json传递到.net对象中,如何在打开JWT / Bearer Token的同时传递所需的标头并将其注入ChromeDriver会话中,以便当我的应用导航至https:// localhost时: 5000 /登录,它应自动重定向到-> https:// localhost:5000 / Dashboard。

class Program
{

    //private static IWebDriver driver;

    // ******->Selenium Specific Code<-******
    // Instantiate the Chrome Driver
    var driver = new ChromeDriver("/usr/local/bin/");

    static IJavaScriptExecutor jsDriver = driver as IJavaScriptExecutor;

    public static string setItemInLocalStorage(string item,string value)
    {


        var js = ((IJavaScriptExecutor)driver).ExecuteScript(String.Format(
         "window.localStorage.setItem('userDetails','" + value + "');"));

        return "";

    }

    //Method to Authenticate & GET Bearer Token from API.

    public static async void GetAllWorkshopData(int WorkshopId)
    {
        UserAuth ua = new UserAuth();
        ua.EmailAddress = "example@mail.com";
        ua.Password = "Strongest!!!Pwd";
        ua.WorkshopId = WorkshopId;

        using (var client = new HttpClient())
        {

            var uri = "https://localhost:5001/api/userauth/Login";
            string json = JsonConvert.SerializeObject(ua);
            StringContent content = new StringContent(json,Encoding.UTF8,"application/json");
            var res = await client.PostAsync(uri,content);
            string datar = await res.Content.ReadAsstringAsync();

            Example details = JsonConvert.DeserializeObject<Example>(datar);



            
            // Navigate to the Endpoint
            ///here inject basic-auth token before selenium opens browser

            driver.Navigate().GoToUrl("http://localhost:5000/Login");
          

            setItemInLocalStorage("",datar);

            driver.Navigate().GoToUrl("http://localhost:5000/Dashboard");
        } 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。