我有一组采用JWT令牌的API,我对每个API都有单元测试覆盖率。我很容易传递JWT令牌并测试它们。 我的JWT令牌基于用户同意。 到目前为止,我使用JWT令牌,将其置于单元测试中的某个位置,然后执行它们。
在开始我的单元测试之前,有没有办法让我弹出一个对话框并获得用户同意,从而获得JWT令牌,然后继续我的单元测试?
这将允许我
答案 0 :(得分:0)
最后我最终使用了Selenium,最终变得有利。 下面的示例代码。
WebBrowser = new ChromeDriver();
IWebElement inputEMail, inputPassword, loginButton;
WebBrowser.Navigate().GoToUrl(
"http://www.yourOAuthProvider.com?client_id=ABCDE&AnyAdditionalParameters");
Thread.Sleep(1 * 3000);
this.Log(this.WebBrowser.Title);
inputEMail = this.WebBrowser.FindElement(By.Name("email"));
inputEMail.SendKeys("user@example.com");
inputPassword = this.WebBrowser.FindElement(By.Name("password"));
inputPassword.SendKeys("PasswordAtExampleDotCom");
loginButton = this.WebBrowser.FindElement(By.ClassName("submit"));
loginButton.Click();
Thread.Sleep(1 * 3000);
this.Log(this.WebBrowser.Url);
WebBrowser.Close();