का उपयोग कर रिकॉर्ड क्रियाएं सेलेनियम के बारे में पूछने के लिए मेरे पास अर्ध-अस्पष्ट प्रश्न है। मैंने फ़ायरफ़ॉक्स ड्रायवर का उपयोग करके क्रियाएं करने के कुछ अलग-अलग तरीकों की खोज की है। मुझे जो करना है वह दोहराने वाली क्रिया है जो उपयोगकर्ता वेब पेज पर करता है (एक लिंक पर क्लिक करके, चेकबॉक्स जांचना आदि)। क्या विधियों का कोई तरीका या संयोजन है जो मुझे उपयोगकर्ता के कार्यों को "रिकॉर्ड" करने की अनुमति देता है? यहाँ मैं क्या कार्रवाई करने के लिए अब तक किया है (जो आपको नज़र आएगा मैं कार्रवाई करने के लिए WebDriverBackedSelenium और क्रिया वर्गों का उपयोग की कोशिश की है)सेलेनियम
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.interactions.Action;
public class MyReplayer {
public static void main(String[] args) throws Exception {
// The Firefox driver supports javascript
FirefoxDriver driver = new FirefoxDriver();
driver.get("http://www.cs.umd.edu");
List<WebElement> elements = driver.findElements(By.tagName("a"));
//WebDriverBackedSelenium driverBacked = new WebDriverBackedSelenium(driver, "http://www.cs.umd.edu");
Actions builder = new Actions(driver);
Action clickLink = builder.click(elements.get(100)).build();
clickLink.perform();
//driverBacked.click("document.getElementsByTagName('a')[100]");
}
}
आप जानते हैं कि कैसे सेलेनियम आईडीई उपयोगकर्ता की कार्रवाई को रिकॉर्ड करने में सक्षम है क्या की मेंटेनर कर रहा हूँ? यही वह कार्यक्षमता है जिसे मैं खुद को लागू करने के लिए देख रहा हूं लेकिन मुझे ऐसा करने में मेरी सहायता करने के लिए किसी भी तरीके से नहीं पता है। – user1294114
मुझे नहीं पता कि सेलेनियम आईडीई कैसे करता है। लेकिन मुझे लगता है कि वे उस पृष्ठ के डीओएम में परिवर्तन घटनाओं को पकड़ते हैं, जिसे आप देख रहे हैं। मुझे नहीं पता कि वे ब्राउज़र जीयूआई में कितने एकीकृत हैं लेकिन यह भी हो रहा है। इनमें से अधिकतर सर्वर पक्ष पर भी पाए जा सकते हैं, लेकिन यह पता लगाना कि सर्वर पर पृष्ठ भेजने के बिना चेकबॉक्स चेक किया गया था, केवल ग्राहक पर हो सकता है (या आपको सब कुछ के लिए AJAX कॉल करना होगा) –