小编Kir*_* S.的帖子

如何使用Selenium Webdriver单击"显示通知"弹出窗口中的"允许"

我正在尝试登录Facebook.登录成功后,我会弹出一个浏览器:

显示通知

如何使用webdriver我可以单击"允许"并继续前进?

selenium selenium-webdriver

35
推荐指数
4
解决办法
5万
查看次数

通过Java客户端使用Spring 4实现的WebSockets连接到Stomp

我收到了一个Web应用程序,使用Spring通过WebSockets Messaging使用STOMP实现,类似于此处描述的(在后端使用RabbitMQ).它在Tomcat上运行,我可以使用常规URL连接到应用程序(例如http://host/server/).我还获得了一个演示客户端 - 一个JSPX页面,它使用了Modernizr WebSockets和SockJS.demo客户端中的连接代码如下所示:

if (Modernizr.websockets) {
    socket = new WebSocket('ws://host/server/endpointx');
}
else {
    socket = new SockJS('/server/endpointy');
}

stompClient = Stomp.over(socket);
stompClient.connect(headers, function(frame) { ... });
....
Run Code Online (Sandbox Code Playgroud)

演示客户端工作正常(当我在浏览器中加载JSPX页面时,我可以连接到服务器).但我的目标是使用一些Java STOMP库连接到同一台服务器.问题是,我尝试过的库需要主机端口作为连接参数:例如,使用ActiveMQ Stomp库:

StompConnection connection = new StompConnection();
connection.open("host", port);
connection.connect(new HashMap<String, String>());
Run Code Online (Sandbox Code Playgroud)

如果我指定port61613,连接成功,但我直接打了RabbitMQ,而不是我的服务器(这不是我想要的).如果我指定8080(或80),在连接时我得到一个错误

位于org.apache.activemq.transport.stomp.StompConnection的org.apache.activemq.transport.stomp.StompWireFormat.unmarshal(StompWireFormat.java:137)java.io.DataInputStream.readByte(未知来源)的java.io.EOFException .receive(StompConnection.java:77)org.apache.activemq.transport.stomp.StompConnection.receive(StompConnection.java:68)atg.apache.activemq.transport.stomp.StompConnection.connect(StompConnection.java:139) )at .... stomp.impl.activemq.ActiveMQStompDriver.connect(ActiveMQStompDriver.java:39)... 25更多

和跟踪显示这是因为CONNECT帧永远不会收到预期的CONNECTED帧(事实上,它不会收到任何回复).

所以我很困惑:我使用了错误的端口吗?或处理一些库不兼容?或者我是否需要以某种方式指示Tomcat我想要将HTTP连接升级到WebSockets

如果上面的问题很难回答,那么这个问题同样有用:如何通过使用Java在Tomcat上运行的WebSockets消息通道上的STOMP连接到Spring应用程序?

tomcat stomp websocket spring-websocket java-websocket

19
推荐指数
1
解决办法
914
查看次数

无法在HTTP请求中插入任何正文

当我尝试在HTTP请求的主体中输入任何内容时,当我点击其他任何内容时,我得到:

您无法切换,因为数据无法转换为Target选项卡数据,空数据要切换

那是什么 ?我正在运行Windows 10.

jmeter

18
推荐指数
1
解决办法
7948
查看次数

iOS 16 场景方向问题

当我尝试在控制器上仅允许纵向方向时,我总是收到此错误:Error Domain=UISceneErrorDomain Code=101“视图控制器不支持所请求的方向。请求:landscapeLeft;支持:纵向”UserInfo={NSLocalizedDescription=视图控制器不支持所请求的方向。请求:景观左;支持:纵向}

我称这个方法为:

func updateOrientation(orientation: UIInterfaceOrientationMask) {
        if #available(iOS 16, *) {
            DispatchQueue.main.async {
                let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene
                self.setNeedsUpdateOfSupportedInterfaceOrientations()
                self.navigationController?.setNeedsUpdateOfSupportedInterfaceOrientations()
                windowScene?.requestGeometryUpdate(.iOS(interfaceOrientations: orientation)) { error in
                    print(error)
                    print(windowScene?.effectiveGeometry )
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

有人面临同样的问题吗?

portrait orientation ios16 xcode14

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

JMH:在所有Benchmark测试中使用相同的静态对象

我有一个类构造一些复杂的数据(想象一个大的XML或JSON结构 - 那种事情).构建它需要时间.所以我想构建一次,然后在所有测试中使用相同的数据.目前我基本上在一个public static定义的类中定义了一个对象实例main,然后在测试中显式引用它(代码是一个非常简单的例子):

public class Data 
{
    // This class constructs some complicated data 
}

public class TestSet 
{
    public static final Data PARSE_ME = new Data(...);

    public static void main(String[] args) throws RunnerException 
    {
        Options opt = new OptionsBuilder()
                .include(".*ParserTest") // several tests
                .forks(1)
                .build();

        new Runner(opt).run();
    }
}

@State(Scope.Thread)
public class SomeParserTest
{
    @Setup(Level.Iteration)
    public void setup()
    {
        Parser parser = new Parser(TestSet.PARSE_ME);
    }

    @Benchmark
    public void getId() 
    {
        parser.getId(123);
    }
}
Run Code Online (Sandbox Code Playgroud)

当然这很可怕......一个同样邪恶的选择就是创建一个单独的类,以便它可以容纳一个静态对象.使用类似的东西会很好 …

java jmh

9
推荐指数
1
解决办法
1882
查看次数

WKWebView 正在尝试在后台运行,尽管它已关闭并且应该被处理

我在应用程序的 UIViewController 容器中有一个简单的 WKWebView。用户将使用 WKWebView 打开这个 UIViewController 容器,然后最终将使用导航“返回”项关闭它。导航项配置容器和WKWebView。它有效,但在每次关闭时,我都会在日志中看到以下错误:

第一对错误:

[断言] 获取断言时出错:<Error Domain=RBSAssertionErrorDomain Code=3 “目标未运行或缺少所需的目标权利” UserInfo={RBSAssertionAttribute=<RBSDomainAttribute| domain:"com.apple.webkit" name:"Background" sourceEnvironment:"(null)">, NSLocalizedFailureReason=目标未运行或缺少所需的目标权限}>

[ProcessSuspension] 0x7f8f9d404210 - ProcessAssertion:无法获取 PID 为 27176 的进程的 RBS 后台断言“WebProcess 后台断言”,错误:错误域=RBSAssertionErrorDomain 代码=3“目标未运行或缺少所需的目标权利” UserInfo={RBSAssertionAttribute= <RBS域属性| domain:"com.apple.webkit" name:"Background" sourceEnvironment:"(null)">, NSLocalizedFailureReason=目标未运行或缺少所需的目标权限}

第二对错误:

[断言] 获取断言时出错:<Error Domain=RBSAssertionErrorDomain Code=2 "指定的目标进程不存在" UserInfo={NSLocalizedFailureReason=指定的目标进程不存在}>

[ProcessSuspension] 0x7f8f9d005c30 - ProcessAssertion:无法获取 PID 为 27176 的进程的 RBS 后台断言“WebProcess 后台断言”,错误:错误域=RBSAssertionErrorDomain Code=2“指定的目标进程不存在” UserInfo={NSLocalizedFailure targetReason=Specified不存在}

第三对错误:

无法向服务 com.apple.WebKit.WebContent 发出信号:113:找不到指定的服务

无法向服务 com.apple.WebKit.Networking 发出信号:113:找不到指定的服务

WKWebView 是从容器 UIViewController 的viewDidDisappear(也尝试将它移动到viewWillDisappear,这没有区别)以下列方式处理:

webView.stopLoading()
webView.configuration.userContentController.removeScriptMessageHandler(forName: "...")
webView.navigationDelegate = nil
webView.scrollView.delegate …
Run Code Online (Sandbox Code Playgroud)

ios swift wkwebview

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

如何找到值不为空的行中的第一个单元格,并检查该数字是否小于或等于其他单元格中的数字

我有以下Google电子表格:

item  have ready  need1 need2 need3
A     1                 2     1
B     1           2     1     1
C     2                 2     
Run Code Online (Sandbox Code Playgroud)

等等

我想填写ready如下列:

  • 找到need1,...,needN范围中的第一列,其中包含非空值
  • 如果找到的值小于或等于have列中的值,则将ready列设置为愉快的(例如yes)
  • 如果找到的值大于have列中的值,则不要执行任何操作

所以上面的输入,处理时应该如下所示:

item  have ready  need1 need2 need3
A     1                 2     1
B     1           2     1     1
C     2    yes          2     
Run Code Online (Sandbox Code Playgroud)

对于第一步,我找到了一个建议的解决方案,这对我不起作用:

=INDEX( SORT( FILTER( D10:H10 , LEN( D10:H10 ) ) , 
FILTER( COLUMN( D10:H10 ) , LEN( D10:H10 ) ) , 0 ) , 1 ) …
Run Code Online (Sandbox Code Playgroud)

formulas google-sheets

7
推荐指数
1
解决办法
6083
查看次数

JMeter-使用 ${} 或 vars.get() 获取变量值有什么区别

今天在调试JMeter脚本时,发现了一个让我很困惑的问题。

  1. CSV 数据配置元素:在 CSV 中,我将变量设置userId1001200

在此输入图像描述

  1. ${userId}然后运行下面的脚本,并在使用和时获取“userId”的不同值vars.get("userId")。我认为它们应该具有相同的值,但似乎并非如此。运行后vars.put("userId", "-111")${userId}得到vars.get("userId")不同的值:

在此输入图像描述

所以即使它们的变量相同,它似乎${}也有一些差异,有谁知道原因吗?vars.get()

提前致谢。

jmeter

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

Java selenium抓取了元素的整个html内容

我想知道是否有办法在元素的两个标签之间获取整个html代码,然后将元素标签存储在字符串中.

假设我使用以下内容创建Web元素列表,然后使用所有Web元素填充列表.

List<WebElement> element = driver.findElements(By.xpath("//*"));
//Some for loop after this to access each value
Run Code Online (Sandbox Code Playgroud)

如果我使用以下内容获取第3个Web元素,它只打印标记名称,因为它应该:

System.out.println(element.get(3).getTagName()); 
Run Code Online (Sandbox Code Playgroud)

所以它打印段落元素"p"或"输入",例如,如果它是存储的第三个web元素

但我想知道是否有可能获得web元素的整个html代码行并打印它,而不是只有标签名称"p"?

例如

<p> some text </p>
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

html java selenium

6
推荐指数
1
解决办法
442
查看次数

使用 Xcode 13.2 在设备中进行测试时,应用程序在 iPhone 6、iOS 12.5 上崩溃

安慰:

dyld: Symbol not found: ___chkstk_darwin
  Referenced from: /private/var/containers/Bundle/Application/6A606806-B567-4237-9B63-561126BF5E96/Appname.app/Frameworks/libswift_Concurrency.dylib (which was built for iOS 13.0)
  Expected in: /usr/lib/libSystem.B.dylib
 in /private/var/containers/Bundle/Application/6A606806-B567-4237-9B63-561126BF5E96/Appname.app/Frameworks/libswift_Concurrency.dylib
Run Code Online (Sandbox Code Playgroud)

该应用程序在 iOS 12.4 的模拟器中运行顺利

我尝试将其设为libswift_Concurrency.dbt可选。它并没有阻止应用程序崩溃。

iphone swift ios13.2

6
推荐指数
1
解决办法
3541
查看次数