The Permutation test could be applied here as well. The idea is as follows.
Let $X_1,...,X_m\sim F$ and $Y_1,...,Y_n\sim G$ be two independent samples and consider testing the hypothesis $H_0:F=G$ vs. $H_1:F\neq G$. For this purpose, label your data as follows
\begin{array}{c c}
1 & X_1\\
1 & X_2\\
\vdots & \vdots\\
1 & X_m\\
2 & Y_1\\
2 & Y_2\\
\vdots & \vdots\\
2 & Y_n\\
\end{array}
Now, let $T$ be an statistic of the sample $S=\{X_1,...,X_m,Y_1,...,Y_n\}$ and the labels $L=\{1,1,...,2,2,...,2\}$.
If $H_0$ is true, then the labeling is superfluous.
Now, permute the group labels and recalculate the test statistic a large number of times, say $B$.
The one-sided p-value of this test is calculated as the proportion of sampled permutations where the difference in means was greater than or equal to $T(S,L)$. The two-sided p-value of the test is calculated as the proportion of sampled permutations where the absolute difference was greater than or equal to $\mbox{abs}(T(S,L))$. See
A toy example
Let $X_i \sim \text{Poisson}(10)$, $i=1,...,m=100$, and $Y_j \sim \text{Poisson}(11)$, $j=1,...,n=100$. Consider the statistic $T=\text{mean of Group 1} - \text{mean of Group 2}$. The permutation method using this statistic is implemented below.
rm(list=ls)
set.seed(1)
# Sample size
ns=100
#Simulated data
x = rpois(ns,11)
y = rpois(ns,10)
# Observed statistic
T.obs = mean(x) - mean(y)
# Pooled data
SL = rbind(cbind(rep(1,ns),x),cbind(rep(2,ns),y))
# Resampling
B=10000
T = rep(0,B)
for(i in 1:B){
samp = sample(SL[,1])
ind1 = which(samp==1)
ind2 = which(samp==2)
T[i] = mean( SL[ind1,2] )- mean( SL[ind2,2] )
}
# p-value
p.value = length(which(abs(T)>abs(T.obs)))/B
I do not know how robust is this method, but after some experiments it seems to perform moderately well. Note that the choice of the statitic $T$ is open and therefore one must be careful on making a meaningful choice in the context of your problem as the performance depends on both the statistic and the sample size.
I hope this helps.