- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想知道是否有人可以扩展这些尝试中的任何一个,或者有任何其他想法来使用可在 Firefox、Chrome、Internet Explorer 和 Safari 中运行的 WebDriver 捕获 JS 错误。
以下是目前已经尝试过的:
thử – 问题:
JSErrorCollector.jar - 工作正常,但仅适用于 Firefox 解决方案。
将 JS 注入(inject)页面源代码 – 我使用 WebDriver 将 window.onerror
代码注入(inject)到页面的源代码中,但由于注入(inject)太晚而遗漏了任何初始错误。
BrowserMob – 我可以拦截 HTTP 响应并计划将 window.onerror
代码注入(inject)响应主体,但作者尚未实现 getBody( )
方法,所以我知道只能修改标题。对于所有响应,正文始终为 null。 (我在一个网页上,作者说要实现 getBody()
但它还没有发生,我找不到了)
Fiddler – JS 将正确注入(inject),但 Fiddler 仅适用于 Windows,因此 Safari 无法运行。
父/子窗口 – 我使用 javascript 打开和存储对测试页窗口的引用。 window.onerror 代码
包含在父窗口中,因此它不会错过子窗口中的启动错误。除了 Firefox 和 Chome 之外,我无法让它在任何地方工作。我已经问过一个问题了đây .
Selenium RC – 我没有尝试过,因为我所有的测试都使用 WebDriver,但我知道它有某种方法,如 captureNetworkTraffic()
,但我不知道'认为它可以在 WebDriver 中使用。
IE 错误弹出窗口 – 我打算使用 Firefox/Chrome 的父/子解决方案,然后寻找 IE 错误弹出窗口。当检查设置以显示时,将显示此弹出窗口。弹出窗口是原生 Window 窗口(我认为),因此我无法使用 selenium 访问它。
阅读浏览器控制台 – 我找不到在所有浏览器中执行此操作的方法。在 Chrome 中,我找到了一种将控制台日志保存到文件然后读取该文件的方法。据我所知。
我想要一个类似于 BrowserMob 的解决方案,因为它看起来像是一个跨浏览器解决方案。是否有任何其他代理可以放入测试并拦截响应?如果实现了 getBody()
方法,那就太好了。我也喜欢父/子解决方案,因为它看起来也是一个简单的跨浏览器解决方案,但它不适用于 IE ( parent/child question again)。
Cảm ơn sự giúp đỡ của bạn.
câu trả lời hay nhất
我不知道有什么方法可以通过测试框架直接捕获 Javascript 代码错误。如果我猜的话,我会使用 PhantomJS .或者,可能类似于 MITM Proxy有用吗?
作为旁注,如果您使用单独的节点运行 Selenium2 Grid Hub,您可以像这样将 Java 选项传递给节点的 JVM,这将允许通过 Fiddler 的代理工作。 Fiddler 在端口 8888 上监听(默认情况下)。使用此方法,您可以查看数据包。
:: batch script: Set JAVA_OPTS java options to JVM
SET "JAVA_OPTS=-Dwebdriver.chrome.^
driver=%CHROMEDRIVER%"
IF "%PROXY_TO_FIDDLER%"=="true" SET "JAVA_OPTS=%JAVA_OPTS% -DproxySet=true^
-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888"
我创建了 scripts you can use to start your grid and node here .在我看来,您也可以使用这种方法与端口 8080 上的 BrowserMob 代理通信吗?我没试过。
关于java - 在 Selenium WebDriver 中捕获 JavaScript 错误——独立于浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17555902/
Tôi đã sử dụng vue-cli được hai tuần và mọi thứ vẫn hoạt động tốt cho đến hôm nay. Tôi xây dựng dự án này tại địa phương. https://drive.google.com/open?id=0BwGw1zyyKjW7S3RYWXRaX24tQ
Xin chào, tôi đang cố gắng trích xuất văn bản từ một hình ảnh bằng thư viện python pytesseract. Vui lòng tìm mã: từ hình ảnh nhập PIL từ hình ảnh nhập pytesseract_
Lỗi của tôi /usr/bin/ld: errno: Định nghĩa TLS trong phần /lib/libc.so.6 .tbss không khớp với tham chiếu không phải TLS
Tôi đã đào tạo một mô hình và đang cố gắng sử dụng chức năng dự đoán nhưng nó trả về lỗi sau. Lỗi tương phản<-(*tmp*, value = contr.funs[1 + isOF[nn]])
Dựa trên thông tin từ Microsoft DataConnectors, tôi muốn tạo trình kết nối từ PowerBi sang PostgreSQL bằng truy vấn trực tiếp thông qua trình điều khiển ODBC này. Tôi đã sử dụng lại Micros
Tôi đã tạo một gói cho SoundQuản lý, có một lớp mở rộng MediaPlayer. Tôi muốn kiểm soát biến này trên toàn cầu. Đây là mã của tôi: gói soundmanagement;
Tôi đã triển khai một ứng dụng trên Heroku. Tôi đang sử dụng một dịch vụ miễn phí. Tôi tiếp tục nhận được thông báo lỗi sau. PG::Error: LỖI: hết bộ nhớ Nếu bạn làm mới trình duyệt, nó sẽ hoạt động. Nhưng sau đó, nó lại xảy ra ngẫu nhiên
Tôi đang chạy máy chủ LAMP và .htaccess này đang gây ra lỗi 500. Chức năng của nó là lọc từ khóa và chuyển hướng đến tên miền tương ứng. Tùy chọn +Theo dõiSymLinks RewriteEngine
Tôi có hai ổ A và B. Sử dụng tập lệnh python, tôi tạo một số tệp trong ổ "A" và chạy tập lệnh powerscript sao chép tất cả các tệp trong ổ A sang ổ B trong khoảng thời gian 1 giây. tôi mạnh mẽ
Hàm sau luôn trả về thông báo lỗi này. Tôi nghĩ có thể loại trường double_precision đã gây ra sự cố này, tôi đã thử sử dụng CAST nhưng không phải như vậy hoặc tôi làm không đúng... Trợ giúp? Đây là lỗi: LỖI: i
Câu hỏi này đã có câu trả lời: Lỗi cú pháp do sử dụng từ dành riêng làm tên bảng hoặc cột trong MySQL (1 câu trả lời) Đã đóng
Tôi gặp vấn đề nhỏ này với cơ sở dữ liệu của mình. Tôi đã tạo một bảng "articoli" chứa nhãn hiệu, kiểu dáng và giá của một mặt hàng. Mỗi bài viết được xác định bởi một id (ID_ARTICOLO)`, đây là trường tăng tự động. Được rồi, bây giờ khi tôi cố gắng chèn
Tôi là người mới ở đây. Tôi hiện đang học lập trình C++ trung cấp trực tuyến tại DeVry. Chúng tôi đang sử dụng cuốn sách C++ Primer Plus và cho đến nay tôi vẫn ổn. Giáo viên của tôi gần đây đã ném cho chúng tôi một quả bóng cong. Nhiệm vụ hiện tại của tôi là thế này:
Câu hỏi này đã có câu trả lời ở đây: Lỗi tham chiếu không xác định/biểu tượng bên ngoài chưa được giải quyết là gì và làm cách nào để khắc phục nó?
Có vấn đề với một đoạn mã trong trang web của tôi; lỗi này chỉ xảy ra trong Internet Explorer 7. Thay vì đăng tất cả đánh dấu HTML/CSS của tôi ở đây, tôi đã đăng một phiên bản của trang web ở đây. Như bạn có thể thấy, tôi có.
Tôi gặp một số vấn đề khi sử dụng npm trên Raspberry Pi khi cố gắng xây dựng ứng dụng node.js trên thiết bị USB. pack.json trông như thế này: { "name" : "node-todo",
Trong Python, bạn có None singleton hoạt động kỳ lạ trong một số trường hợp: >>> a = None >>> type(a) >>> isinstance(a,None) Traceback (most
Đây là tệp build.gradle (Mô-đun: ứng dụng) của tôi: áp dụng plugin: 'com.android.application' android { biên dịchSdkV
Tôi mới sử dụng Android, dự án của tôi vừa được biên dịch và chạy tốt, nhưng sau khi tôi cố gắng triển khai điều hướng ngăn kéo, tôi nhận được lỗi này FAILURE: Build failed with anException.
Có ai có thể giải thích được không? Tôi nghĩ mình đang làm điều gì đó thực sự ngu ngốc và đang háo hức chờ đợi sự giác ngộ. Tôi nhận được kết quả này: phpversion() == 7.2.25-1+0~20191128.32+debian8~1.gbp108
Tôi là một lập trình viên xuất sắc, rất giỏi!