小编Pet*_*ček的帖子

什么参数应该为java中的泛型集合<E>添加函数接受?

我正在尝试Set<E>用Java 编写一个接口,它将由另一个mySet<E>使用arrayList<E>存储元素的类实现.

我打算包括定期集合函数:add(),remove(),union() intersection()等.

这个类型应该适合我add()和我的remove()功能?我已经尝试使用add(Object E)add(<E>),但我遇到了错误.

java

5
推荐指数
1
解决办法
77
查看次数

使用 jOOQ 将枚举值插入到未知表中

给定一个带有枚举列的表,如下所示:

CREATE TYPE DIRECTION AS ENUM ('NORTH', 'EAST', 'SOUTH', 'WEST');

CREATE TABLE enum_table (
    direction DIRECTION NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

如何使用 jOOQ 插入到所述表中而不为整个表生成 Java 代码?对于这个特定实例,由于其他技术限制,我(还)不能简单地生成代码。如果有帮助,我可以复制粘贴一段生成的代码(例如类型定义),但整个表格太多了。

我试过的:

  • 根本不用打字:

    context.insertInto(table("enum_table"))
        .columns(field("direction"))
        .values("west")
        .execute();
    
    Run Code Online (Sandbox Code Playgroud)

    正如预期的那样,这会引发不兼容的类型:

    org.jooq.exception.DataAccessException: SQL [insert into enum_table (direction) values (?)]; ERROR: column "direction" is of type direction but expression is of type character varying.

  • Column type as Enum.class + coercing or casting to Enum.class:

    context.insertInto(table("enum_table"))
        .columns(field("direction", Enum.class))
        .values(DSL.coerce("west", Enum.class))  // or DSL.cast(), same result …
    Run Code Online (Sandbox Code Playgroud)

java postgresql enums jooq

5
推荐指数
1
解决办法
1234
查看次数

模拟使用Selenium在Webtest中输入'按键'

我想模仿EnterWebtest的压力.我正在使用Selenium 2.3.1.我想用WebDriver做到这一点.我知道我们可以使用Selenium RC来做到这一点,但我不想这样做.有没有人这样做过?我愿意升级到Selenium 2.20.0(最新版).

java keyboard selenium webdriver webtest

4
推荐指数
1
解决办法
4202
查看次数

如何验证硒中某个字段的粗体外观

我正在尝试自动化手动脚本(在Java中使用硒)来检查网页上某个字段(标签:代表必填字段)的粗体外观。可能是什么硒Java函数来验证某些元素的粗体外观(类中没有关于外观的信息)

java selenium

4
推荐指数
2
解决办法
1万
查看次数

需要可见元素的 xpath 定位器

我正在尝试对我的网站进行测试。在某些用户表单上遇到问题。诀窍是,表单中文本字段的数量因用户选项而异(代码中存在禁用的字段,但具有样式 < displayed: none;> 标记),因此我试图找到比定位每个元素更灵活的方法一一并用 try/except 块填充表单。

我正在使用 xpath 定位器

text_fields = driver.find_elements_by_xpath("//div[@class='form-line']/div[@class='form-inputs']/input[@type='text' and not(ancestor::div[@style='display: none;'])]")

问题是萤火虫只定位需要的元素,但是当我使用它时我的 selenium 脚本text_fields,即使没有 < displayed: none;> 标签,打印列表也会给我所有元素

我怎样才能只获得可见元素?

PS对不起我的英语不好^_^

python selenium xpath webdriver selenium-webdriver

4
推荐指数
1
解决办法
9598
查看次数

为什么在循环中运行多个 lambda 会突然变慢?

考虑以下代码:

public class Playground {

    private static final int MAX = 100_000_000;

    public static void main(String... args) {
        execute(() -> {});
        execute(() -> {});
        execute(() -> {});
        execute(() -> {});
    }

    public static void execute(Runnable task) {
        Stopwatch stopwatch = Stopwatch.createStarted();
        for (int i = 0; i < MAX; i++) {
            task.run();
        }
        System.out.println(stopwatch);
    }

}
Run Code Online (Sandbox Code Playgroud)

目前,我在 Temurin 17 上的 Intel MBP 上打印以下内容:

3.675 ms
1.948 ms
216.9 ms
243.3 ms
Run Code Online (Sandbox Code Playgroud)

请注意,第三次(以及任何后续)执行时速度减慢了 100*。现在,显然,这不是Java 编写基准测试的方法。循环代码不执行任何操作,因此我希望它能够消除所有重复。另外,我无法使用 JMH 重复这种效果,这告诉我原因很棘手且脆弱。

那么,为什么会发生这种情况呢?为什么会突然出现如此灾难性的减速,幕后到底发生了什么?一个假设是 …

java performance jit jmh

4
推荐指数
1
解决办法
190
查看次数

Eclipse中的Selenium缺少源代码

请参阅随附的屏幕截图.

当我将鼠标悬停在以下代码上时:

selenium.waitForPageToLoad("30000");
Run Code Online (Sandbox Code Playgroud)

我收到这条消息:

*void com.thoughtworks.selenium.Selenium.waitForPageToLoad(String arg0)

注意:此元素既没有附加源也没有附加Javadoc,因此找不到Javadoc.*

F3正在给我" 未找到来源 ".

有谁知道从哪里获取这个源(它叫什么)以及如何附加到Eclipse? TTP://img853.imageshack.us/img853/8248/ecl.png

java eclipse selenium selenium-rc

3
推荐指数
2
解决办法
6224
查看次数

如何根据XPath中的其他元素属性值查找元素值

我正在努力学习XPath,并且发现它很难,因为我正在谷歌搜索所有这些.这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
    <details>
        <signature id="sig1">
            <name>mr. Barry Smith</name>
            <telephone type="fixed">01234 123456</telephone>
            <telephone type="mobile">071234562</telephone>
        </signature>

        <signature id="sig2">
            <name>mr. Harry Smith</name>
            <telephone type="fixed">01234 123456</telephone>
        </signature>
    </details>
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到拥有手机的人的名字,我可以得到,或者两者兼而有之.

我一直在尝试这样的事情:

staffdetails/signature/telephone[@type='mobile']name
Run Code Online (Sandbox Code Playgroud)

另外,是否有使用XPAth的参考指南,所以我可以很容易地找出我想要的任何查询?使用在线教程我已经找到了解释XPath的工作原理,但是这些示例并不足够.

谢谢!

xml xpath

3
推荐指数
1
解决办法
3790
查看次数

Selenium Webdriver AJAX - 如何等待请求完成

我有一个场景,我无法继续前进:

我在页面上有两个按钮(两个按钮都在同一个框架中).我使用IteratorButton 1.当我们点击它时Button 1,它会进行AJAX调用.我看到鼠标加载动画一秒钟,然后产品被添加到购物车.

比方说,如果我有5个相同类型的按钮并想要点击所有5个按钮,当我使用迭代器点击5个按钮时,控件将退出循环而不是单击第二个按钮.

Iterator<WebElement> button1 = T2.iterator();
while(button1.hasNext()) {
    button1.next().click(); 
    Thread.sleep(10000);
}

driver.findElement(By.id("button2 id")).click();
Run Code Online (Sandbox Code Playgroud)

如果我使用它Thread.sleep(),它的工作正常.但我不想使用它,因为它不是正确的方法.

button2 id也处于启用状态,我无法使用Wait for the element to be enabled.当执行来到button1.next().click(),i,mediately它将进入下一行,而没有完成循环.如果我在之后打印一些文本button1.next().click(),则会打印5次文本.但不知道为什么按钮没有被点击.

甚至试过隐含的等待,但没有运气.

避免此类问题的最佳方法是什么?

java selenium webdriver selenium-webdriver

3
推荐指数
1
解决办法
7055
查看次数

正则表达式的部分匹配

我有一个逐步构建的字符串.在构建字符串时,它通过正则表达式作为整体进行匹配,并且当找到匹配时,执行某个任务.

我的要求是:如果在字符串构建过程的中间发现无法找到完全匹配,则应重置字符串并重新启动构建过程.

例如,如果正则表达式是,"mada12gaskar"并且在将char "3"添加到现有字符串时"mada1",应该清除该字符串,并且构建过程应该重新开始,因为它"mada13"永远不会匹配"mada12gaskar".这可以通过Java regex API实现吗?

java regex

3
推荐指数
1
解决办法
292
查看次数