如何解决线程“main”中的异常 java.lang.IllegalArgumentException:要发送的键应该是非空的 CharSequence
这是主类:创建了2个类,一个是主类,另一个是“TotpGenerator”类。其他类编写的token代码,在主类中调用。
我可以在登录令牌文本字段出现后登录网站,根据此代码,他们的令牌不是从“密钥”中获取的。任何人都可以帮助我。
问题是:未使用密钥获取身份验证器令牌:
RoomHistory
在另一个像这样创建的类中:并在主类中“调用”,得到以下错误。
package Testing;
import java.io.File;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.jboss.aerogear.security.otp.Totp;
public class Testing {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver","C:\\Users\\naga\\eclipse-workspace\\Testing\\drivers\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
driver.get("https:aasdsad.com");
driver.manage().window().maximize();
driver.findElement(By.xpath("//*[@id=\"center-v-and-h\"]/form/div/input")).sendKeys("abc@gmail.com");
driver.findElement(By.xpath("//*[@id=\"center-v-and-h\"]/form/div/input")).sendKeys("asasasa");
driver.findElement(By.xpath("//*[@id=\"center-v-and-h\"]/form/div/div/button")).click();
driver.findElement(By.name("token")).sendKeys(TOTPGenerator.getTwoFactorCode());
}
}
出现错误:
package Testing;
import java.util.concurrent.TimeUnit;
import org.jboss.aerogear.security.otp.Totp;
public class TOTPGenerator {
// Todo Auto-generated method stub
public static String getTwoFactorCode() {
Totp totp = new Totp("qwwqeqweqwZWO5UXSSLUFQUVMVSWOI"); // 2FA secret key
String twoFactorCode = totp.Now(); //Generated 2FA code here
return twoFactorCode;
}
}
解决方法
是的,TOTPGenerator.getTwoFactorCode() 的输出为空,这就是我们收到此错误的原因。
可以试试下面的代码导入包 import org.jboss.aerogear.security.otp.api.Clock;
Totp totp = new Totp("qwwqeqweqwZWO5UXSSLUFQUVMVSWOI",new Clock());
还要检查系统时间是否设置为自动更新
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。