第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Java - 分布式對(duì)象邏輯:服務(wù)器作為存儲(chǔ)/客戶(hù)端作為工作線(xiàn)程

Java - 分布式對(duì)象邏輯:服務(wù)器作為存儲(chǔ)/客戶(hù)端作為工作線(xiàn)程

HUWWW 2022-09-22 15:45:33
我需要在運(yùn)行時(shí)在服務(wù)器和運(yùn)行 Selenium Web 驅(qū)動(dòng)程序的多個(gè)遠(yuǎn)程客戶(hù)端之間分發(fā)業(yè)務(wù)邏輯。我已經(jīng)研究了對(duì)象序列化,RMI,動(dòng)態(tài)下載JAR,通過(guò)Java和硒網(wǎng)格的硒化。詳細(xì)信息:預(yù)計(jì)多個(gè)遠(yuǎn)程客戶(hù)端將通過(guò)互聯(lián)網(wǎng)上的 JMS 輪詢(xún)隊(duì)列,以獲取在給定網(wǎng)站上執(zhí)行某些工作的訂單。每個(gè)客戶(hù)端將啟動(dòng)Selenium WebDriver,在客戶(hù)端運(yùn)行時(shí)之前以未預(yù)定義(或僅以非常抽象的術(shù)語(yǔ))的方式遍歷該網(wǎng)站,然后返回輪詢(xún)隊(duì)列,直到再次調(diào)用。挑戰(zhàn)在于,客戶(hù)不會(huì)事先知道網(wǎng)站和確切的遍歷步驟。我可以在服務(wù)器上提前定義抽象的步驟/方法,但客戶(hù)端將依賴(lài)于某種下載的數(shù)據(jù)來(lái)精確地獲取Selenium命令列表。在這些步驟中還需要一些循環(huán) ()。repeat until...例如,如果我們定義 example1.com:void login()點(diǎn)擊“用戶(hù)名”字段發(fā)送密鑰“用戶(hù)名”點(diǎn)擊“密碼”字段發(fā)送密鑰“密碼”點(diǎn)擊“提交”而對(duì)于 example2.com 將是:void login()點(diǎn)擊“登錄”框等待“用戶(hù)名”字段出現(xiàn)點(diǎn)擊“用戶(hù)名”字段點(diǎn)擊“繼續(xù)”等。研究:序列化:僅傳輸對(duì)象變量,而不傳輸對(duì)象邏輯。RMI:對(duì)象邏輯在服務(wù)器上執(zhí)行,而不是在客戶(hù)端上執(zhí)行,因此它無(wú)法與客戶(hù)端的Selenium實(shí)例進(jìn)行交互。即時(shí)下載 JAR:此處可能的解決方案,此處不太樂(lè)觀。這些現(xiàn)實(shí)嗎?硒:可能無(wú)法直接在 Java 下運(yùn)行。使用硒運(yùn)行器-java可能是可能的,但這似乎只是命令行,這將限制與客戶(hù)端軟件的交互,從而限制功能硒網(wǎng)格:節(jié)點(diǎn)(客戶(hù)端)必須始終連接到集線(xiàn)器(服務(wù)器),這不能保證如何在運(yùn)行時(shí)將業(yè)務(wù)邏輯從服務(wù)器分發(fā)到客戶(hù)端?
查看完整描述

1 回答

?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊

您可以使用通用的 Selenium 運(yùn)行方法聲明一個(gè)接口,如下所示。SeleniumRunner


public void runSelenium(WebDriver driver);

如在動(dòng)態(tài)編譯源文件時(shí)如何為 JavaCompiler 提供接口中所述,您可以將源文件傳輸?shù)娇蛻?hù)端并在運(yùn)行時(shí)編譯它們。該類(lèi)必須實(shí)現(xiàn)上述接口。


File sourceFile = new File("SeleniumClass1234.java");

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

compiler.run(null, null, null, sourceFile.getPath());

...


SeleniumRunner sr = (SeleniumRunner) Class.forName("SeleniumClass1234").newInstance();

sr.runSelenium(driver);

或者,您可以將jar文件傳輸?shù)娇蛻?hù)端并在運(yùn)行時(shí)加載它們,如第二個(gè)鏈接中所述,我應(yīng)該如何在運(yùn)行時(shí)動(dòng)態(tài)加載Jars?。您還需要此處的界面。否則,您的解決方案將包含大量反射和其他配置設(shè)置,以查找和使用包含邏輯的正確方法。


查看完整回答
反對(duì) 回復(fù) 2022-09-22
  • 1 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)