-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeveloper console code
More file actions
104 lines (90 loc) · 3.99 KB
/
Copy pathdeveloper console code
File metadata and controls
104 lines (90 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
async function testAllInitialServers() {
try {
// 1. Sunucu seçme bölümünü aç
const openServerButton = document.querySelector('.btn-server-select');
if (openServerButton) {
openServerButton.click();
await new Promise(resolve => setTimeout(resolve, 2000)); // Animasyon ve listenin yüklenmesi için bekle
} else {
console.error("Sunucu seçme butonu bulunamadı.");
return;
}
// 2. Arama yapmadan doğrudan çıkan sunucuları bul
const serverListContainer = document.querySelector('.server-hosts .server-hosts-list ul');
if (!serverListContainer) {
console.error("Sunucu listesi kapsayıcısı bulunamadı.");
return;
}
let serverItems = serverListContainer.querySelectorAll('li');
console.log(`Bulunan ilk sunucu sayısı: ${serverItems.length}`);
for (let i = 0; i < serverItems.length; i++) {
const serverItem = serverItems[i];
const serverNameElement = serverItem.querySelector('.host-location');
const serverName = serverNameElement ? serverNameElement.textContent.trim() : `Bilinmeyen Sunucu ${i + 1}`;
console.log(`Test ediliyor: ${serverName}`);
// 3. Sunucuyu seç
const selectButton = serverItem.querySelector('a');
if (selectButton) {
selectButton.click();
await new Promise(resolve => setTimeout(resolve, 1000)); // Seçim sonrası bekleme
} else {
console.warn(`${serverName} için seçme butonu bulunamadı.`);
continue;
}
// 4. Testi başlat
const startButton = document.querySelector('.js-start-test');
if (startButton) {
startButton.click();
console.log(`${serverName} için test başlatıldı.`);
// Testin bitmesini bekle
await waitForTestCompletion();
console.log(`${serverName} için test tamamlandı.`);
// 5. Anketi kontrol et ve tıkla (tek yıldız)
await new Promise(resolve => setTimeout(resolve, 2000)); // Test bittikten sonra anketin görünmesi için biraz daha bekle
const surveyContainer = document.querySelector('.audience-survey-answers');
if (surveyContainer) {
const firstStar = surveyContainer.querySelector('li:first-child a');
if (firstStar) {
firstStar.click();
console.log("Anket (tek yıldız) yanıtlandı.");
await new Promise(resolve => setTimeout(resolve, 1000)); // Anket sonrası bekleme
} else {
console.warn("Anket cevabı (tek yıldız) bulunamadı.");
}
} else {
console.log("Anket alanı bulunamadı.");
}
// Son sunucu değilse, bir sonraki sunucuyu test etmek için sunucu seçimini tekrar aç
if (i < serverItems.length - 1) {
const reOpenServerButton = document.querySelector('.btn-server-select');
if (reOpenServerButton) {
reOpenServerButton.click();
await new Promise(resolve => setTimeout(resolve, 2000)); // Açılma ve listenin yüklenmesi için bekle
// Sunucu listesini tekrar bul (yeni liste yüklenmiş olabilir)
const updatedServerListContainer = document.querySelector('.server-hosts .server-hosts-list ul');
if (updatedServerListContainer) {
serverItems = updatedServerListContainer.querySelectorAll('li');
} else {
console.warn("Güncellenmiş sunucu listesi bulunamadı.");
break; // Liste bulunamazsa döngüyü sonlandır
}
}
}
} else {
console.error("Test başlatma butonu bulunamadı.");
return;
}
}
console.log("Tüm ilk sunucular test edildi.");
} catch (error) {
console.error("Bir hata oluştu:", error);
}
}
// Testin bitmesini bekleyen basit bir fonksiyon
async function waitForTestCompletion() {
return new Promise(resolve => {
console.log("Testin bitmesi bekleniyor...");
setTimeout(resolve, 45000); // Örnek olarak 45 saniye bekleniyor.
});
}
testAllInitialServers();