动态地将日期导入到Selenium WebElements的XPATH包含中

时间:2018-02-14 00:32:41

标签: java selenium

我有一个包含以下WebElements的页面工厂类:

@FindBy(how = How.XPATH,using = "//button[contains(@aria-label, '" + today + "')]")
WebElement startDate;

@FindBy(how = How.XPATH,using = "//button[contains(@aria-label, '" + tomorrow + "')]")
WebElement endDate;

如何创建并调用方法将今天的日期和明天的日期动态地返回到包含内的“今天”和“明天”值?在main方法中,我可以使用我想要的格式获取日期:

    Date dt = new Date();
    Calendar c = Calendar.getInstance();
    c.setTime(dt);

    SimpleDateFormat dateFormatter = new SimpleDateFormat("MMMM d");
    String today = dateFormatter.format(dt);

但是如何在同一页面工厂类中创建这个以及明天的方法作为单独的可重用方法?

1 个答案:

答案 0 :(得分:0)

,你不能。

如果您查看FindBy Java文档,这些是类型的注释,而不是 if !@client_find.nil? @client_find.questionnaire params[:commit].each do |key, value| @json=[] @json = @client_find.questionnaire if !value.empty? && @json.include?(key) puts "blunderc "+ value.inspect @new_append = Hash.new @new_append[:question] = key @new_append[:answer]= value @json << @new_append end if !key.empty? && !value.empty? #logic @json.each do |u| if (u.key? key) puts "bothu "+ u[key].inspect u[key] = value end end end end

这些 Annotations 用于标记 Page Object 上的字段,用于查找元素或元素列表。基本上这些 Annotations PageFactory结合使用,允许用户快速轻松地创建PageObjects

可以通过method()"how"指定这些注释,也可以指定Locator Strategies中的一个具有适当值的注释。这两个选项都会委托给 By 类中匹配的By方法。